c# – 将非属性绑定到datagrid列DataField?

假设我有一个类似于以下内容的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>

解决方法:

使用TemplateColumn

<asp:TemplateColumn HeaderText="Test">
<ItemTemplate>
<asp:Label runat="server" Text='<%# SomeMethod() %>'></asp:Label>  
</ItemTemplate>
</asp:TemplateColumn>
上一篇:WPF 精修篇 DataGrid 筛选


下一篇:的Xceed DataGrid SelectedItem问题