2011-03-31 94 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> 
相關問題