假设我有一个类似于以下内容的DataGrid:
<asp:DataGrid ID="SomeDataGrid" runat="server">
<Columns>
<asp:BoundColumn HeaderText="A Header" SortExpression="Sort" DataField="Data"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
在这个Grid中,我将数据源设置为一个包含名为“Data”的公共属性的集合,并执行databind().每一个都按预期工作.
现在假设我想将列的DataField属性设置为公共成员,属性或我计算的其他东西.在不创建中间对象或向集合中的对象添加公共属性的情况下,最简单的方法是什么?
所以我想做的是:
<asp:BoundColumn HeaderText="A Header" SortExpression="Sort" DataField="someMethod()"></asp:BoundColumn>
解决方法:
<asp:TemplateColumn HeaderText="Test">
<ItemTemplate>
<asp:Label runat="server" Text='<%# SomeMethod() %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>