- PR -

DataGridの編集モード

投稿者投稿内容
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-05 11:17
いつもお世話になっております。
VB.NET、ASP.NETを使用しております。
DataGridの使い方で以下のようなことは可能でしょうか?
表示時は以下のようになっており、2つ目の編集ボタン(リンクボタン)をクリックすると編集モードに切り替わり、クリックされた行が1つのセルとなって各項目を入力できるテキストボックスが表示されるというものです。
編集ボタンを押下して編集モードまでは切り替わることはわかるのですが、編集モードにしたときに表示時とは違い形式が表示できるやり方がわかりません。実際このようなことが可能なのでしょうか?もしくは代替案がありましたらご教授願います。
表示する内容はDBから取得します。

【表示時】
┏━━━━━━━━━━━━━━━━━━┓
┃ファイル名┃サイズ┃ 更新日時 ┃  ┃
┗━━━━━━━━━━━━━━━━━━┛
┃file01 ┃ 100┃2004/10/01┃編集┃
┗━━━━━━━━━━━━━━━━━━┛
┃file02 ┃ 200┃2004/10/02┃編集┃ ← クリック
┗━━━━━━━━━━━━━━━━━━┛
┃file03 ┃ 300┃2004/10/03┃編集┃
┗━━━━━━━━━━━━━━━━━━┛

【編集時】
┏━━━━━━━━━━━━━━━━━━┓
┃ファイル名┃サイズ┃ 更新日時 ┃  ┃
┗━━━━━━━━━━━━━━━━━━┛
┃file01 ┃ 100┃2004/10/01┃編集┃
┗━━━━━━━━━━━━━━━━━━┛
┃ファイル名:テキストボックス    ┃
┃  サイズ:テキストボックス    ┃
┃ 更新日時:テキストボックス    ┃
┃更新ボタン キャンセルボタン    ┃
┗━━━━━━━━━━━━━━━━━━┛
┃file03 ┃ 300┃2004/10/03┃編集┃
┗━━━━━━━━━━━━━━━━━━┛
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-10-05 12:12
こんにちは。

これはDataGridよりもDataListの方がいいですね。

DataListコントロールなら実現出来ます。
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-05 12:25
とっとさん、早速のご返信ありがとうございます。
DataListを調べてみます。
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-05 17:23
すいません。

やはり編集モードにしたときに見た目的にでも各セルを結合する(編集行は1行1セルで表示する)やり方がわかりません。
DataGridでもDataListでもどちらでもかまわないので、ご教授願えないでしょうか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-05 18:14
[ASP.NET]DataGridコントロールの編集用テキストボックスをカスタマイズするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/083edititem/edititem.html

[ASP.NET]DataGridコントロールのヘッダーを結合するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/091joinheader/joinheader.html

を応用すれば、DataGridで出来ると思う。
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-10-05 19:01
引用:

todoさんの書き込み (2004-10-05 18:14) より:
[ASP.NET]DataGridコントロールの編集用テキストボックスをカスタマイズするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/083edititem/edititem.html

[ASP.NET]DataGridコントロールのヘッダーを結合するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/091joinheader/joinheader.html

を応用すれば、DataGridで出来ると思う。



todoさん、こんにちは。

【編集時】
┏━━━━━━━━━━━━━━━━━━┓
┃ファイル名┃サイズ┃ 更新日時 ┃  ┃
┗━━━━━━━━━━━━━━━━━━┛
┃file01 ┃ 100┃2004/10/01┃編集┃
┗━━━━━━━━━━━━━━━━━━┛
┃ファイル名:テキストボックス    ┃
┃  サイズ:テキストボックス    ┃
┃ 更新日時:テキストボックス    ┃
┃更新ボタン キャンセルボタン    ┃
┗━━━━━━━━━━━━━━━━━━┛
┃file03 ┃ 300┃2004/10/03┃編集┃
┗━━━━━━━━━━━━━━━━━━┛

こういう表示はDataGridで可能なんですか??

DataListのテンプレートを使った方がやりやすくないですか?
ちびぐま
常連さん
会議室デビュー日: 2004/09/09
投稿数: 37
お住まい・勤務地: 横浜市
投稿日時: 2004-10-05 19:26
EditCommandメソッド内で
e.Item.Cells.RemoveAt(2)
e.Item.Cells.RemoveAt(1)
e.Item.Cells(0).ColumnSpan = 3
と記述してみましたが、セル結合はできませんでした。

とっとさん
DataListのテンプレートではどのようにしてセル結合するのですか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-05 19:27
> [ASP.NET]DataGridコントロールの編集用テキストボックスをカスタマイズするには?

のサンプルで、次を<EditItemTemplate>に埋め込む。

ファイル名:テキストボックス
  サイズ:テキストボックス
 更新日時:テキストボックス
更新ボタン キャンセルボタン


> [ASP.NET]DataGridコントロールのヘッダーを結合するには?

のサンプルで、ListItemType.HeaderをListItemType.EditItemに変更   

こんな感じで出来ると思います。

# 試していません。

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