Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 筛选数据视图结果并将值绑定到具有分页功能的网格_C# - Fatal编程技术网

C# 筛选数据视图结果并将值绑定到具有分页功能的网格

C# 筛选数据视图结果并将值绑定到具有分页功能的网格,c#,C#,我有一个具有分页功能的网格视图。将数据绑定到网格视图后,我将根据下拉选择过滤网格。这将在2页中生成结果。但当我点击第二页时,网格正在刷新原始结果。这是我的密码: DataTable dtSyncQueueTransfer = syncStatusBizManager.GetSyncTransferResult(syncRequestId, serverIds, statusIds, txtFileName.Value); ViewState["SyncResults"] = dtSyncQueu

我有一个具有分页功能的网格视图。将数据绑定到网格视图后,我将根据下拉选择过滤网格。这将在2页中生成结果。但当我点击第二页时,网格正在刷新原始结果。这是我的密码:

DataTable dtSyncQueueTransfer = syncStatusBizManager.GetSyncTransferResult(syncRequestId, serverIds, statusIds, txtFileName.Value);
ViewState["SyncResults"] = dtSyncQueueTransfer;
gvSyncQueueList.DataSource = dtSyncQueueTransfer;
gvSyncQueueList.DataBind();

protected void ddlProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
    DataTable dtSyncResults = (DataTable)ViewState["SyncResults"];
    //To display all the sync results when the dropdown selected value is All.
    if (ddlProjectId.SelectedValue.ToString().Equals("All"))
    {
        gvSyncQueueList.DataSource = dtSyncResults;
        gvSyncQueueList.DataBind();
    }
    //To display the sync results when the user selects a projectId from the drop down.
    else
    {
        DataView viewResults = new DataView(dtSyncResults);
        //Filtering sync results based on projectid.
        viewResults.RowFilter = "ProjectId =" + Convert.ToInt32(ddlProjectId.SelectedValue);
        gvSyncQueueList.DataSource = viewResults;
        gvSyncQueueList.DataBind();
    }
}

protected void gvSyncQueueList_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
    gvSyncQueueList.PageIndex = e.NewPageIndex;
    gvSyncQueueList.DataSource = (DataTable)ViewState["SyncResults"];
    gvSyncQueueList.DataBind();
    string activetab = GetActiveTab();
    ShowTabs(activetab);
}

有人能帮忙吗?

这是我问题的答案。我们需要在分页时重新筛选结果。 在更改网格页面时,我们需要更改代码,如下所示:

protected void gvSyncQueueList_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
    gvSyncQueueList.PageIndex = e.NewPageIndex;
    //To view all the sync results when the page first time loads or when the drop down value is all.
    if (ddlProjectId.SelectedValue.ToString().Equals("All") || string.IsNullOrEmpty(ddlProjectId.SelectedValue.ToString()))
        gvSyncQueueList.DataSource = (DataTable)ViewState["SyncResults"];
    //To bind the project results according to drop down value selected in paging.
    else
    {
        DataView viewResults = new DataView((DataTable)ViewState["SyncResults"]);
        viewResults.RowFilter = "ProjectId =" + Convert.ToInt32(ddlProjectId.SelectedValue);
        gvSyncQueueList.DataSource = viewResults;
    }
    gvSyncQueueList.DataBind();
    string activetab = GetActiveTab();
    ShowTabs(activetab);
}

由于前四行的原因,该代码无法编译。该代码实际位于何处?该代码位于某个按钮上,单击此处我需要显示带有实际结果的网格,而不是过滤。之后,我将根据下拉列表的选择过滤网格