2011-03-31 119 views
4

比方说,我有一个DataGrid,看起来像:将非属性绑定到datagrid列DataField?

<asp:DataGrid ID="SomeDataGrid" runat="server"> 
    <Columns> 
     <asp:BoundColumn HeaderText="A Header" SortExpression="Sort" DataField="Data"></asp:BoundColumn> 
    </Columns> 
</asp:DataGrid> 

在这个网格,我设置了数据源到包含所谓的“数据”的公共属性一些收集和做databind()。每一个都按预期工作。

现在我们假设我想将该列的DataField属性设置为公共成员,属性或我已计算的其他东西。无需创建中间对象或将公共属性添加到集合中的对象,最简单的方法是什么?

所以我想要做的是一样的东西:

<asp:BoundColumn HeaderText="A Header" SortExpression="Sort" DataField="someMethod()"></asp:BoundColumn> 

回答

3

使用TemplateColumn

<asp:TemplateColumn HeaderText="Test"> 
<ItemTemplate> 
<asp:Label runat="server" Text='<%# SomeMethod() %>'></asp:Label> 
</ItemTemplate> 
</asp:TemplateColumn> 
相关问题