0

以下のように表示する GridView が必要なコードを書いています。列とその値を表示して、列のデータベースからフェッチすることはできますが、この形式でデータを表示することはできません。

私の手順では、DB から合計として 1 つの値を取得して Amount 1 として表示し、その金額で計算を行って他の Amount 値を入力し、2 つの値の差を A:B として表示します。

何か案は?

--------------------------------------------
Total Amount |                 |           |       
--------------------------------------------
Amount 1     |    Amount/12 A  |           |
-------------------------------------------
Amount 2     |    Amount/12 B  |  A:B      |
-------------------------------------------
Amount 3     |    Amount/12 C  |  A:C      |
-------------------------------------------
Amount ..10  |    Amount/12 D  |  A:D      |
-------------------------------------------
Total        |                 |           |
--------------------------------------------
4

3 に答える 3

0

そのために、RowDataBound イベントを使用できます。以下は、RowDataBound へのリンクです。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx

このスレッドの解決策もお読みください。 http://forums.asp.net/t/1278588.aspx

于 2012-09-26T09:19:01.187 に答える
0

あなたのデータがあなたのデータベースで同じかどうかを確認してください

次に、グリッドビューの各行のコンテンツを保持するdivを配置し、color:blue;などのスタイルを与えることで、非常に簡単な解決策が得られます。このような

于 2012-09-26T09:26:48.327 に答える
0

実際、これを行うには2つの方法が考えられます。

醜い非直感的なasp.netの方法に進み、グリッドのRowDataBoundイベントのハンドラーを追加します。そのハンドラーでは、メンバー変数が空の場合、値をメンバー変数に保存します。それ以外の場合、メンバー変数がでない場合は、計算を行い、その差をセル 3 に新しいラベルとして追加します。

もう1つの方法(もっと欲しい)は、linqを使用してリスト(データテーブルまたは他のリスト)を、元の列のプロパティと追加の列の計算されたプロパティを持つ匿名オブジェクトの新しいリストに投影します. 次に、グリッドを投影されたリストにデータバインドできます。

于 2012-09-26T09:23:35.677 に答える