如果我对数据进行任何过滤,如何更改gridview PageIndexChanging事件工作? [英] How can I change my gridview PageIndexChanging event work if I make any Filter to data?

查看:80
本文介绍了如果我对数据进行任何过滤,如何更改gridview PageIndexChanging事件工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我的网格视图和PageIndexChanging事件工作正常。但是当我根据某些条件对我的数据进行任何过滤并将过滤后的数据绑定到我的gridview时,页面它正常工作,然后对于其他页面,它加载与以前相同的数据,即过滤前。



任何男孩都可以告诉我如何处理这种情况?



 受保护  void  gvEmployees_PageIndexChanging( object  sender,GridViewPageEventArgs e)
{
gvEmployees.PageIndex = e.NewPageIndex;
LoadData();
}



 public void LoadData()
{
List < 员工 > employees = employeeService.GetAllEmployees();
gvEmployees.DataSource = employees;
gvEmployees.DataBind();
}

//按工资过滤员工
protected void btnSearch_Click(object sender,EventArgs e)
{
string sal = txtSal.Text;
var employees = employeeService.SearchEmployeeByType(sal);

gvEmployees.DataSource = employees;
gvEmployees.DataBind();
} < / employee >

解决方案

需要做一些小改动你的LoadData()方法,比如

  public   void  LoadData()
{
string sal = txtSal.Text;
var 员工;
if (sal.Trim()。Equals( string .Empty))
{
employees = employeeService.GetAllEmployees();
}
else
{
employees = employeeService.SearchEmployeeByType(sal);
}
gvEmployees.DataSource = employees;
gvEmployees.DataBind();
}





这应该可以胜任你的工作!

希望,它会有所帮助:)


Hi,
I have my grid view and PageIndexChanging event is work fine .But when I make any filtration to my data depending on certain condition and bind the filtred data to my gridview ,for the 1st page it works correctly and then for other pages it loads the same data as previous i.e before filtration.

Can any boy tell me how to handle this type of situation??

protected void gvEmployees_PageIndexChanging(object sender, GridViewPageEventArgs e)
  {
      gvEmployees.PageIndex = e.NewPageIndex;
      LoadData();
  }


public void LoadData()
    {
        List<employee> employees = employeeService.GetAllEmployees();
        gvEmployees.DataSource = employees;
        gvEmployees.DataBind();
}

//filtering  employee by salary
protected void btnSearch_Click(object sender, EventArgs e)
    {
string sal= txtSal.Text;
  var employees = employeeService.SearchEmployeeByType(sal);
           
                gvEmployees.DataSource = employees;
                gvEmployees.DataBind();
}</employee>

解决方案

Need to do few small changes your LoadData() method like

public void LoadData()
{
        string sal= txtSal.Text;
        var employees; 
        if(sal.Trim().Equals(string.Empty))
        {
           employees= employeeService.GetAllEmployees();
        }
        else
        {
           employees = employeeService.SearchEmployeeByType(sal);
        }
        gvEmployees.DataSource = employees;
        gvEmployees.DataBind();
}



This should do your job !
Hope, it helps :)


这篇关于如果我对数据进行任何过滤,如何更改gridview PageIndexChanging事件工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆