列表<;元组<;T1、T2>>;作为GridView的DataSource
本文关键字:lt gt 作为 GridView DataSource 元组 T1 列表 T2 | 更新日期: 2023-09-27 17:58:30
我想为我的GridView
添加一个List<Tuple<T1,T2>>
作为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
是群,Name
是string
-性质
他(是的,他,我的IDE叫Bob)显然找不到Item1.Name,有什么方法可以逃离.
吗?
谢谢,
Dennis
订阅代码背后的RowDataBound事件,该事件将为绑定的每一行触发,您可以使用提供给该事件的参数来获取当前数据项-您会发现用这种方式获取值比试图篡改数据绑定语法等更容易。
(ps-记住要检查事件处理程序中的rowtype属性,这很容易出错-如果您试图访问页眉/页脚行的数据对象,您会得到意外的结果/错误!-上面的链接有一些代码可以证明这一点)