2009-04-22 81 views
2

我試圖將數據添加到我在gridview中創建的新列中。我創建了列與下面的代碼:VB.NET在GridView中創建額外的列

Dim Field As New BoundField 
Field.HeaderText = "Cummulative Amount" 
Dim Col As DataControlField = Field 
Me.GridView1.Columns.Add(Col) 

現在我需要去和該列下面的行添加數據。我已經看過ppl說我需要將它設置爲等於數據字段,但是如何從頭開始創建數據字段?

由於提前,

回答

1

更新:

您可以直接在標記爲GridView創建此計算列。假設您的數據源有一個名爲的字段「金額」,並命名爲「數量」和你的「累積性金額」另一場是這兩列的產品,你可以做這樣的事情:

<asp:GridView runat="server" DataSource="sqlDataSource"> 
    <columns> 
    <asp:BoundField HeaderText="Amount" DataField="Amount" /> 
    <asp:BoundField HeaderText="Quantity" DataField="Quantity" /> 
    <asp:TemplateField HeaderText="Cummulative Amount"> 
     <ItemTemplate> 
     <asp:Label runat="server" Text='<%# Eval("Amount") * Eval("Quantity") %>' /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    </columns> 
</asp:GridView> 
+0

是的,這正是我正在努力。 – Splashlin 2009-04-22 05:59:18

3

是的,人都告訴你正確的事情 - 你需要設置一個BoundField的DataField屬性,以便它被渲染。您的DataField將是一個公共屬性,由您將GridView綁定到的數據源公開。

作爲一個觀點,您不需要創建DataControlField,因爲BoundField類繼承自DataControlField。您可以直接將BoundField添加到GridView的Columns集合中。

Dim Field As New BoundField() 
Field.HeaderText = "Cumulative Amount" 
Field.DataField = "CumulativeAmount" 

Me.GridView1.Columns.Add(Field)