VB .NET在Gridviews中创建其他列

时间:2009-04-22 05:38:26

标签: asp.net vb.net gridview

我试图将数据添加到我在gridview中创建的新列中。我使用以下代码创建列:

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

现在我需要进入并为列下方的行添加数据。我看过ppl说我需要将它设置为等于数据域但是如何从头创建数据域呢?

提前致谢,

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

<强>更新

您可以在gridview的标记中创建此计算列。假设您的数据源有一个名为“Amount”的字段和另一个名为“Quantity”的字段,并且您的“Cummulative Amount”是这两列的乘积,您可以这样做:

<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>