Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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/1/asp.net/33.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# 动态GridView页面索引交换未触发?_C#_Asp.net_Delegates_Event Handling_Page Index Changed - Fatal编程技术网

C# 动态GridView页面索引交换未触发?

C# 动态GridView页面索引交换未触发?,c#,asp.net,delegates,event-handling,page-index-changed,C#,Asp.net,Delegates,Event Handling,Page Index Changed,我有两个动态网格视图,一个在左边,另一个在右边,我正在通过点击提交按钮绑定这两个网格 我的问题是PageIndexChange对我首先单击的网格有效,而第二个网格不起作用,即)如果我首先单击左侧网格,PageIndexChange仅对该网格有效,而不是对右侧网格和反之亦然。下面是我的代码 protected void lnkBTNSubmit_Click(object sender, EventArgs e) { pnlLeft.Controls.Add(

我有两个动态网格视图,一个在左边,另一个在右边,我正在通过点击提交按钮绑定这两个网格

我的问题是PageIndexChange对我首先单击的网格有效,而第二个网格不起作用,即)如果我首先单击左侧网格,PageIndexChange仅对该网格有效,而不是对右侧网格和反之亦然。下面是我的代码

  protected void lnkBTNSubmit_Click(object sender, EventArgs e)
        {
          pnlLeft.Controls.Add(grdATASalesTrendleft);
          dataResult = ObjAnalyzeTrendAnalysis.AnalyzeSalesTrendTables(requestID, "ATAT_1");
          dataResult = ObjCommon.GetColumnAliasReportDetails(dataResult, "ATAT_1");
          ObjSharedEntities.LeftTableData = dataResult;
          BindGridDataLeft(grdATASalesTrendleft, ObjSharedEntities.LeftTableData);
          grdATASalesTrendleft.Visible = true;

          pnlRight.Controls.Add(grdATASalesTrendright);
          dataResult = ObjAnalyzeTrendAnalysis.AnalyzeSalesTrendTables(requestID, "ATAT_5");
          dataResult = ObjCommon.GetColumnAliasReportDetails(dataResult, "ATAT_5");
          ObjSharedEntities.RightTableData = dataResult;
          BindGridDataRight(grdATASalesTrendright, ObjSharedEntities.RightTableData);
          grdATASalesTrendright.Visible = true;
       }

  protected void Page_Load(object sender, EventArgs e)
       {
          GridLoad();
       }

  private void GridLoad()
       {
          Leftgrid();
          Rightgrid();
          BindGridDataLeft(grdATASalesTrendleft, dataResult);
          BindGridDataRight(grdATASalesTrendright, dataResult);
       }

 private void Leftgrid()
       {
          grdATASalesTrendleft = new GridView();
          grdATASalesTrendleft.ID = "grdATASalesTrendleft";
          grdATASalesTrendleft.AutoGenerateColumns = true;
          grdATASalesTrendleft.EmptyDataText = "No data available.";
          grdATASalesTrendleft.AllowPaging = true;
          grdATASalesTrendleft.PagerSettings.Mode = PagerButtons.Numeric;
          grdATASalesTrendleft.PagerSettings.Position = PagerPosition.Bottom;
          grdATASalesTrendleft.PageSize = 15;
          grdATASalesTrendleft.PagerStyle.BackColor = System.Drawing.Color.FromArgb(80, 124, 209);
          ObjCommon.ApplyStylesForGridView(grdATASalesTrendleft);
          grdATASalesTrendleft.PageIndexChanging += new GridViewPageEventHandler(grdATASalesTrendleft_PageIndexChanging);
       }

  private void BindGridDataLeft(GridView e, DataTable dataResult)
       {
          GridView grdATASalesTrend = (GridView)e;
          grdATASalesTrend.DataSource = dataResult;
          grdATASalesTrend.DataBind();
          pnlLeft.Controls.Add(grdATASalesTrend);
       }

  void grdATASalesTrendleft_PageIndexChanging(object sender, GridViewPageEventArgs e)
       {
        GridView grdATASalesTrendleft = (GridView)sender;
        grdATASalesTrendleft.PageIndex = e.NewPageIndex;
        BindGridDataLeft(grdATASalesTrendleft, ObjSharedEntities.LeftTableData);
       }

  private void Rightgrid()
       {
        grdATASalesTrendright = new GridView();
        grdATASalesTrendright.ID = "grdATASalesTrendright";
        grdATASalesTrendright.AutoGenerateColumns = true;
        grdATASalesTrendright.EmptyDataText = "No data available.";
        grdATASalesTrendright.AllowPaging = true;
        grdATASalesTrendright.PagerSettings.Mode = PagerButtons.Numeric;
        grdATASalesTrendright.PagerSettings.Position = PagerPosition.Bottom;
        grdATASalesTrendright.PageSize = 15;
        grdATASalesTrendright.PagerStyle.BackColor = System.Drawing.Color.FromArgb(80, 124, 209);
        ObjCommon.ApplyStylesForGridView(grdATASalesTrendright);
        grdATASalesTrendright.PageIndexChanging += new GridViewPageEventHandler(grdATASalesTrendright_PageIndexChanging);
      }

  private void BindGridDataRight(GridView e, DataTable dataResult)
       {
          GridView grdATASalesTrend = (GridView)e;
          grdATASalesTrend.DataSource = dataResult;
          grdATASalesTrend.DataBind();
          pnlRight.Controls.Add(grdATASalesTrend);
       }

  void grdATASalesTrendright_PageIndexChanging(object sender, GridViewPageEventArgs e)
      {
        GridView grdATASalesTrendright = (GridView)sender;
        grdATASalesTrendright.PageIndex = e.NewPageIndex;
        BindGridDataRight(grdATASalesTrendright, ObjSharedEntities.RightTableData);
       }

有什么建议吗?

是否需要一个页面索引事件来绑定网格?我是说一个页面点击两个网格。如果是这样,您必须用新的页面索引绑定两个网格

void grdATASalesTrendleft_PageIndexChanging(object sender, GridViewPageEventArgs e)
       {
        GridView grdATASalesTrendleft = (GridView)sender;
        grdATASalesTrendleft.PageIndex = e.NewPageIndex;
        BindGridDataLeft(grdATASalesTrendleft, ObjSharedEntities.LeftTableData);
        // add
        grdATASalesTrendright.PageIndex = e.NewPageIndex;
        BindGridDataRight(grdATASalesTrendright, ObjSharedEntities.RightTableData);
       }

您是如何注册该活动的?编辑了我的答案,但我建议您使用一个寻呼机作为两个网格,并且寻呼机应与网格分开。您可以从查询字符串获取页面索引。这里的问题是,如果我在页面加载后第一次单击右侧gridview,PageIndexChange工作正常,但左侧gridview PageIndexChange不工作,如果我在页面加载后第一次单击左侧gridview,PageIndexchange工作正常,但右侧gridview PageIndexchange在此之后不工作..能够理解我的观点吗?我已更改了此部分grdATASalesTrendright.PageIndexChanging+=新的GridViewPageEventHandler(grdATASalesTrendleft_PageIndexChanging);并尝试了您的代码..如果我单击左侧gridview,它会工作,右侧gridview也会第一次工作..第二次左侧gridview不工作执行页面。是否加载页面上的PostBack控件?我认为主要问题就在那里。