在ListView ItemDataBound事件处理程序中是否可以获得对该事件的完整DataRow的访问权限?我需要对绑定的整行进行大量处理,但是在数据行中使用我实际上并没有在显示中使用的数据项值。
答案 0 :(得分:4)
试试这个
DataRowView dr = (DataRowView)DataBinder.GetDataItem(e.Item);
dr.Item.ItemArray你可以访问整行。
答案 1 :(得分:1)
也许尝试使用ListViewDataItem
属性来访问绑定对象的基础数据对象的属性。 ListViewDataItem属性仅在控件的ItemDataBound事件期间和之后可用,并且通常对应于数据源对象中的记录。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listviewdataitem.aspx
以下是一个例子。
protected void listProducts_ItemDataBound(object sender, ListViewItemEventArgs e)
{
if (e.Item.ItemType == ListViewItemType.DataItem)
{
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
string prodtype = (string)DataBinder.Eval(dataItem, "ProductType");
// ...
}
}