- PR -

Datagrid内で値を計算

1
投稿者投稿内容
Subarist
会議室デビュー日: 2004/07/05
投稿数: 2
投稿日時: 2004-07-05 13:51
初めて書かせていただきます。ご教授願いたいのですが
私は今VB.NETを使ってWebアプリケーションを作成中なのですが
Datagrid内で値が入力されたら合計行に自動的に計算
されるようしたいのですがうまくいきません。
どなたか教えていただけないでしょうか。
詳細です:
Datagridは複数列複数行で構成されています。
すべてテンプレート行に変換されており、ItemTemplateはTextBox
になっておりいつでも値を変更できるようにはなっています。
計算なんですが列Aと列Bを入力後列Cの場所にA*Bの値を自動計算させ
表示させたいと考えています。
列Aの値や列Bの値を変更するとリアルタイムに列Cの値が変更されるような
イメージです。
宜しくお願いします。



todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-07-05 15:18
2通りの方法があります。

(1)ポストバックしてサーバーサイドで計算する
(2)ポストバックせずにクライアントサイドで計算する

(1)はASP.NET流の方法です。テキストボックスのAutoPostBackをtrueにして
TextChangedイベントで処理します。

よりリアルタイムな方法となると(2)になります。

クライアントサイドのイベントで処理します。
まず、次の例題を考えて下さい。

javascriptの例題
AまたはBの値を変更したときCにA×Bの値を表示せよ。

--"reidai.html"---
<form>
<input type="text" name="A" value = "1">
<input type="text" name="B" value = "2">
<div id="C">結果</div>
</form>
------------

後は、サーバーサイドでDataGridのテキストボックスに、このスクリプトを追加するすればよい。
Subarist
会議室デビュー日: 2004/07/05
投稿数: 2
投稿日時: 2004-07-05 15:36
todo様ご返信ありがとうございます。
早速ですがポストバックはさせない方法でいきたいのですが
具体的にどのようにすればよろしいですか?
まだ.NETのほうが初心者ですのでご指導お願い致します。
お手数をおかけして申し訳ございません。
詳細:
グリッドの列数量とグリッドの列単価のどちらかに値を入力した場合に
消費税額列に消費税を表示させたいというかんじなんですが
宜しくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)