C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 161 を表示中)
■92983 / )  Re[5]: Listの入れ子があるListをソースに設定する方法について
□投稿者/ 魔界の仮面弁士 (2477回)-(2019/11/12(Tue) 14:24:25)
No92980 (河童 さん) に返信
> 画面上にDataGridViewが3つあります。

これらは ReadOnly でしょうか?

編集可能とする場合は、さらに

(1)主キーの変更を許可するか否か
(2)データの削除を許可するか否か
(3)新規レコードの作成を許可するか否か

についても考える必要があります。
(許可する場合、それぞれに応じた追加の処理が必要です)


> 読み込んだリスト型のデータを各DataGridViewのソースに設定したいです。

その場合のコードは No92952 に示しています。



> DataGridViewのソースとなるデータは、外部ファイルからリスト型で読み込まれます。
> この処理は実装済みです。

上記の入力処理(読み込み)の後、
出力処理(リストの内容を外部ファイルに書き戻す処理)も発生しますか?

入力処理(読み込み)だけなら、さほど問題は無いのですが、
出力処理もある場合、単純なファイルの再生成だけで良いのかでも設計が変わってきます。

上書き再生成で出力するのならば良いですが、データベース等が相手だと、
 -- group_num が 100 のレコードを、データベースから削除する
 DELETE FROM GRP_TBL WHERE NUM = 100
のように「削除対象の group_num の一覧」を覚えておく必要があるため、
単純に GroupLst から .Remove() されるだけだと都合が悪くなるかもしれません。
主キー項目の書き換えを許可する場合も同様。



> 段階的にDataGridViewを表示させる方法です。

No92952 の RowEnter では駄目ですか?


> int RowIdx1 = 0; // 選択行インデックス

DataGridView は列クリックでのソートも可能なので、インデックスでのアクセスはお奨めしません。

.DataSource にバインドしている場合には、 No92952 に示したように、
選択行の DataBoundItem プロパティから該当レコードを参照するようにします。
返信 編集キー/


管理者用

- Child Tree -