- PR -

ASP.NETでDataGridに空のレコードを1行追加するには

1
投稿者投稿内容
ASP.NET初心者
常連さん
会議室デビュー日: 2005/01/07
投稿数: 30
投稿日時: 2005-01-08 15:08
お世話になっております。ASP.NET初心者でございます。

現在、ASP.NETで開発をしております。
DBから検索したデータをDataTableに格納し、DataGridにバインドしています。
クライアントから行追加の要求があった場合に、DataGridに空のレコードを1行追加したいのです。
DataGridには、テンプレート列がありクライアントが自由に編集できるようになっています。

クライアントから要求があったらDataGridの内容をDataTable等に格納してからDataTableに行を追加してバインドし直すほうがよいのでしょうか?
もし、この方法しかないのならDataGridの内容をDataTable等に格納するには、1レコードずつ取り込むしかないのでしょうか?

ド素人な質問で恐縮ですが、どなたかご教授お願い致します。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2005-01-08 16:06
できるかどうかは確認していませんが、案だけ・・・

1.DBから検索したデータをDataTableに格納
2.この時点で、DataTableのRowsに空Rowを追加しちゃう
3.DataGridにバインド
4.バインド後に DataGrid.Items.Item(空RowのINDEX).Visible = False

で、行追加の要求があったら Visible = True に
ASP.NET初心者
常連さん
会議室デビュー日: 2005/01/07
投稿数: 30
投稿日時: 2005-01-08 17:33
かめたろ様

返信ありがとうございます。

1行のみの追加ならすばらしい案なのですが、何行追加になるか特定できないのです。

無理な処理なのでしょうか?
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2005-01-08 17:52
じゃあ、こんなのはいかがでしょうか。

例えば以下のTipsのようなかんじにGridのフッターに
入力フィールドと追加ボタンを設けておいてhttp://www.atmarkit.co.jp/fdotnet/dotnettips/085insertdg/insertdg.html

追加ボタンが押されたら、DBにINSERTして
立て続けにDBを検索してGridにバインドする。

入力フィールドをGridのフッターにおくかどうかは別にして
私はだいたいこんなやり方でやってます。
1

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