1

我有一个带有 2 个 BoundFields 的 GridView,如下所示:

<asp:BoundField DataField="UnitPrice" HeaderText="Unit Price">
        </asp:BoundField>

<asp:BoundField DataField="Quantity" HeaderText="Quantity">
        </asp:BoundField>

如何添加通过以声明方式将其他 2 个字段乘以 GridView 来计算的“总计”字段?这 2 个现有字段来自 SQL 数据库,我无法向该数据库添加新字段。在某种程度上,我必须动态创建 Total 字段。

如果这是不可能的,如何以编程方式做到这一点?谢谢。

4

1 回答 1

4

最简单的方法是将属性添加到基础类:

Decimal Total { get { return UnitPrice*Quantity; } }

然后,您可以TotalBoundField

如果修改基础类不是一个选项,试试这个:

<asp:TemplateField>
   <ItemTemplate>
      <asp:Label runat="server" Text='<%# String.Format("{0:c}", ((Decimal)Eval("UnitPrice"))*((int)Eval("Quantity"))) %>' />
   </ItemTemplate>
</asp:TemplateField>

请注意,您需要确保每个类型的转换都Eval与您的数据结构相匹配。

于 2011-11-10T23:00:08.390 回答