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

次に、フィールドTotalを参照できます。BoundField

基になるクラスを変更するオプションがない場合は、次のことを試してください。

<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 に答える