2009-11-12 29 views

回答

4

試試這個

DataRowView dr = (DataRowView)DataBinder.GetDataItem(e.Item);

使用 dr.Item.ItemArray您可以訪問整個行。

+0

他們必須改變這個,因爲你使用的任何版本的.NET。似乎沒有.Item.ItemArray了。不過,您可以通過dr.Row [「ColumnName」]獲取列。 –

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"); 
    // ... 
    } 
} 
+0

關閉,但據我所知只能讓我訪問一個數據項 - 在那個特定時刻綁定的項目,而不是在ListView的迭代中綁定的整個數據行ItemTemplate中。 – Moo

+0

對不起,您是指一個給定行只有一個字段,還是需要引用另一行的數據? – Jakkwylde

+0

我想你的意思是Eval(dataItem.DataItem,「ProductType」); 然後這個工作 – clamchoda

相關問題