2011-06-06 87 views
4

我想爲GridView添加List<Tuple<T1,T2>>作爲DataSourceList <Tuple<T1,T2>>作爲GridView的DataSource

「那就幹吧!」

是的,這不是真正的問題,問題是訪問GridView中的值。

這裏是我的代碼:

List<Tuple<Group, string>> userGroups = Util.PrepareGroups((string[][])Session["userGroups"]); 
      gridGroups.DataSource = userGroups; 
      gridGroups.DataBind(); 

DataBind拋出一個異常,告訴我,Item1.Name不存在,說到這個,這是我的標記:

<asp:GridView runat="server" ID="gridGroups" CssClass="grid gridGroups" AutoGenerateColumns="false"> 
      <Columns> 
      <asp:BoundField meta:resourcekey="gridGroupsName" DataField="Item1.Name" /> 
      <asp:BoundField meta:resourcekey="gridGroupsFunction" DataField="Item2" /> 
      </Columns> 
     </asp:GridView> 

不用多說,Item1是集團和Namestring-屬性。
他(是的,他,我的IDE叫Bob)顯然沒有找到Item1.Name,有什麼辦法可以逃過.

感謝,

丹尼斯

+0

Bob?..你在[Microsoft Bob](http://en.wikipedia.org/wiki/Microsoft_Bob)中的代碼?.. – GSerg 2011-06-06 07:26:58

+1

不,我寫我的代碼使用Bob 2010 Professional! – 2011-06-06 07:28:47

+0

與那些懶惰的鮑勃斯輟學的藝術學校... – 2011-06-06 07:29:41

回答

3

訂閱RowDataBound事件代碼隱藏,這將觸發該綁定的每一行,您可以使用提供給事件的參數來獲得在當前數據項 - 你會發現比試圖混淆數據綁定語法更容易獲得你的值。

(ps - 記得檢查你的事件處理程序中的rowtype屬性,這是一個容易的錯誤make - 如果你試圖訪問a的數據對象,你會得到意想不到的結果/錯誤頁眉/頁腳行! - 上面的鏈接有一些代碼證明了這一點)

+0

投票的鎖定,對不起。再次單擊向上箭頭將會將其刪除,單擊向下箭頭實際上會將其更改爲-1,而我們不希望這樣做,我們會!! – 2011-06-06 08:35:13

相關問題