2011-11-10 4 views
1

私はこのような2 BoundFieldsとGridViewコントロールを持っている:ASP.NET:これが可能な場合、計算されたフィールドをaspxファイルで宣言するにはどうすればいいですか?

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

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

私は宣言GridViewコントロールに他の2つのフィールドを乗じて算出される「合計」フィールドを追加するにはどうすればよいですか?これら2つの既存のフィールドはSQLデータベースからのもので、このデータベースに新しいフィールドを追加することはできません。ある意味では、Totalフィールドを動的に作成する必要があります。

これができない場合は、これをプログラムでどのように行うのですか?おかげさまで

答えて

4

最も簡単な方法基本となるクラスにプロパティを追加することです:

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

基本となるクラスを変更することはできない場合はあなたが、その後BoundField

でフィールドTotalを参照することができ、してみてくださいこの:あなたは、各Evalためのキャストがあなたのデータstrを一致させることを確認したくなるでしょう

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

注意ugure。

関連する問題