Asp.net VB.NET在GridView中创建其他列
我试图将数据添加到我在gridview中创建的新列中。我使用以下代码创建列:Asp.net VB.NET在GridView中创建其他列,asp.net,vb.net,gridview,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说我需要将它设置为一个数据字段,但是我如何从头创建一个数据字段呢 提前感谢,是的,人们告诉了您正确的事情
Dim Field As New BoundField
Field.HeaderText = "Cummulative Amount"
Dim Col As DataControlField = Field
Me.GridView1.Columns.Add(Col)
现在我需要进去为列下面的行添加数据。我看到ppl说我需要将它设置为一个数据字段,但是我如何从头创建一个数据字段呢
提前感谢,是的,人们告诉了您正确的事情-您需要设置BoundField的
数据字段
属性才能呈现它。您的数据字段将是由您绑定GridView的数据源公开的公共属性
作为补充,您不需要创建DataControlField
,因为BoundField
类继承自DataControlField
。您可以直接将BoundField
添加到GridView的Columns集合中
Dim Field As New BoundField()
Field.HeaderText = "Cumulative Amount"
Field.DataField = "CumulativeAmount"
Me.GridView1.Columns.Add(Field)
更新: 可以在gridview的标记中创建此计算列。假设您的数据源有一个名为“Amount”的字段和另一个名为“Quantity”的字段,并且您的“累积金额”是这两列的乘积,您可以执行以下操作:
<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>
是的,这正是我要做的。其他列是自动生成的还是通过标记添加的?我使用了gridview向导。它们都是从数据库中存储的表中创建的。我需要创建这些列,这些列是根据行中它前面的字段计算的值。我知道AutoGenerateColumns属性设置为false。非常感谢您的帮助,最后一个问题。如果我需要从当前行上方的行获取数据,我将如何实现这一点?例如,如果我想要一个名为Total Expense的列,并且其单元格中的数据是已用列下所有行(包括放置该列的行)的累积相加?