使用DropDown_SelectedIndexChanged绑定gridview,但是分页不起作用

问题描述 投票:0回答:3

我有一个 DropDownList,其中几乎没有列表项。每次我选择任何项目时,我都会根据它绑定一个网格视图,因此生成的网格视图取决于我的选择。一些结果超出了页面大小,因此我需要在 GridView 中的第二页上导航,但是当我选择第二页时,GridView 消失了。

 protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
 {
    string constr = ConfigurationSettings.AppSettings["ConnectionInfo"];
    SqlConnection con = new SqlConnection(constr);

    con.Open();
    string str = string.Empty;
    str = "SELECT * FROM Table1";

    SqlDataAdapter adp = new SqlDataAdapter(str, con);

    DataSet ds = new DataSet();
    adp.Fill(ds, "myds");

    BusinessKPIGrid.DataSource = ds;
    BusinessKPIGrid.DataBind();
}

 protected void OnGridViewPaging(object sender, GridViewPageEventArgs e)
 {
    //I know I need to bind the gridview here, but how ?
    BusinessKPIGrid.PageIndex = e.NewPageIndex;
    BusinessKPIGrid.DataBind();
 }

我不知道如何在分页事件中绑定gridview,因为我没有任何单独的绑定功能。

asp.net drop-down-menu pagination selectedindexchanged
3个回答
1
投票

网格视图的页面事件有一个单独的函数。创建单独的方法来绑定网格并在 pageindexchange 事件上调用该方法..

protected void BusinessKPIGrid_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    BusinessKPIGrid.PageIndex = e.NewPageIndex; 
     bindyourgrid();
}

1
投票

试试这个

protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
{
    string constr = ConfigurationSettings.AppSettings["ConnectionInfo"];
    SqlConnection con = new SqlConnection(constr);

    con.Open();
    string str = string.Empty;
    str = "SELECT * FROM Table1";

    SqlDataAdapter adp = new SqlDataAdapter(str, con);

    DataSet ds = new DataSet();
    adp.Fill(ds, "myds");
    ViewState["ds"]=ds;
    BusinessKPIGrid.DataSource = ds;
    BusinessKPIGrid.DataBind();

}

  protected void OnGridViewPaging(object sender, GridViewPageEventArgs e)
    {
        //I know I need to bind the gridview here, but how ?
        BusinessKPIGrid.PageIndex = e.NewPageIndex;
         BusinessKPIGrid.DataSource = (DataSet)ViewState["ds"];
        BusinessKPIGrid.DataBind();
    }

0
投票

从 DDL_SelectedIndexChanged 如果您正在搜索某些内容,则使用“PageIndexChanging”并为其设置页面大小

protected void gvworker_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvworker.PageIndex = e.NewPageIndex;
        //result got from ddl list i.e bind your data set
    }
© www.soinside.com 2019 - 2024. All rights reserved.