2012-09-28 18 views
0

我的要求是刷新每次回發的數據,但如果我這樣做,我的rowcommand事件不會觸發鏈接按鈕點擊gridview?我如何實現它?如何在每次回發時更改網格數據時,如何能夠有效地觸發rowcommand事件?

我正在改變使用jquery的行順序並在隱藏變量中保存新的順序。在頁面回發中,我從隱藏變量中獲取新訂單,並以新訂單重新綁定網格。

我需要重新綁定新的訂單每次頁面回髮網格。當我單擊網格中的編輯/刪除鏈接按鈕時發生回發,但rowcommand事件不會被觸發。

 protected void Page_Load(object sender, EventArgs e) 
     { 
      if (IsPostBack) 
      { 
       string order = hdnOrder.Value.ToString(); 
       if (order != string.Empty) 
       { 
       ReOrder(); 
       } 
     } 
     } 

protected void ReOrder() 
     { 
      DataTable dt = new DataTable(); 

      if (ViewState["data"] != null) 
      { 
       dt = (DataTable) ViewState["data"]; 

       string[] order = hdnOrder.Value.Split(','); 

       for (int i = 0; i < order.Length; i++) 
       { 
        DataRow[] keyRows; 

        keyRows = dt.Select("ID='" + order[i] + "'"); 
        if (keyRows.Length > 0) 
        { 
         int index = dt.Rows.IndexOf(keyRows[0]); 

         dt.Rows[index].SetField("Precedence", i + 1); 
        } 
       } 
       DataView dv = dt.DefaultView; 
       dv.Sort = "Precedence ASC"; 

       ViewState["data"] = dv.ToTable(); 

       grd.DataSource = ViewState["data"]; 
       grd.DataBind(); 
       hdnOrder.Value = string.Empty; 
      } 
     } 
+1

[WhatYouhavetried.com](http://mattgemmell.com/2008/12/08/what-have-you-tried/),顯示一些代碼 –

回答

1

如果符合下列條件:

  1. 你需要處理的行命令;
  2. 您需要重新綁定網格,但有它也反映了該行命令

的結果......這應該是作爲PreRender事件處理程序做你重新排序,而不是Load事件一樣簡單處理程序。

相關問題