2011-02-18 70 views
0

ASP.NET ListView的ItemDataBound事件似乎只處理由DataPager確定的可見頁面。ListView ItemDataBound在所有頁面上

我將如何在所有ListView頁面上使用數據綁定?

這是使用的ItemDataBound檢查複選框就...

protected void lvCFR_ItemDataBound(object sender, ListViewItemEventArgs e) 
    { 
     ListView lv = (ListView)sender; 
     ListViewDataItem lvi = (ListViewDataItem)e.Item; 
     if (lvi.ItemType == ListViewItemType.DataItem) 
     { 
      CheckBox cb = (CheckBox)lvi.FindControl("cb1"); 
      DropDownList ddl = (DropDownList)lvi.FindControl("ddl1"); 
      if (ddl != null) 
       ddl.Enabled = false; 

      if (cb != null && ddl != null) 
      { 
       int ID = Convert.ToInt32(lv.DataKeys[lvi.DisplayIndex].Value); 
       foreach (KeyValuePair<int, string> kv in CFRIDs) 
        if (kv.Key == ID) 
        { 
         cb.Checked = true; 
         ddl.Enabled = true; 
         ddl.SelectedValue = kv.Value; 
         break; 
        } 
      } 
     } 
    } 

回答

0

的的ItemDataBound僅觸發針對實際呈現的控制。所有其他頁面甚至沒有被渲染。您需要在底層數據集中設置一些值,或者如果複選框未綁定到底層數據源,則使用臨時表進行綁定。

相關問題