ASP.NET ListView的ItemDataBound事件似乎只处理由DataPager确定的可见页面。
如何在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;
}
}
}
}发布于 2011-02-18 09:21:48
只有实际呈现的控件才会触发ItemDataBound。所有其他页面甚至都不会被渲染。您需要在基础数据集中设置一些值,或者在复选框未绑定到基础数据源的情况下使用要绑定到的临时表。
https://stackoverflow.com/questions/5036724
复制相似问题