簡體   English   中英

動態GridView PageIndexChanging沒有觸發?

[英]Dynamic GridView PageIndexChanging not firing?

我有兩個動態網格視圖,一個在左側,另一個在右側,我在綁定提交按鈕上綁定這兩個網格。

我的問題是PageIndexChanging正在為網格工作,我先點擊,第二個不工作,即如果我先點擊左側網格,PageIndexChanging正在單獨為該網格工作,而不是右側網格,反之亦然。這是我的代碼

  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);
       }

有什么建議嗎?

你想要一個pageindex事件來綁定你的網格嗎? 我的意思是一個網頁單擊兩個網格。 如果是這樣,您必須使用新的pageIndex綁定兩個網格。

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);
       }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM