Repository navigation
OTR_CrudScreens
nishi_74322014 edited this page Oct 27, 2026
·
1 revision
テーブル保守の CRUD 画面(一覧・詳細・更新)の作り方。Web Forms・MVC・Windows Forms のそれぞれに、エージェント用のスキルがある。
| 処理方式 | スキル |
|---|---|
| Web Forms | opentouryo-webforms-crud-screens |
| ASP.NET(Core)MVC | opentouryo-mvc-crud-screens |
| Windows Forms(2 層 C/S・3 層) | opentouryo-winforms-crud-screens |
| 方式 | 画面構成 | 追加・更新・削除 | 使いどころ |
|---|---|---|---|
| (1) 一覧 → 詳細 | 検索一覧 → 詳細画面 | 詳細画面で 1 レコードずつ | オーソドックス。Web 系の基本 |
| (2) 一覧&更新 | 一覧でその場に複数行を編集 | 一覧で一括(DataTable によるバッチ更新) | 一覧で編集したい場合。リッチクライアントで重宝する |
- Web 系では、(2) はオプション。通常は (1) で処理する。
- [追加] はグリッドの外のボタンで空行を足す(
Added)。削除はdr.Delete()。
| Web Forms | MVC | Windows Forms | |
|---|---|---|---|
| 実装の単位 | UOC メソッド | アクション・メソッド + Razor | UOC メソッド |
| 足場 | 自動生成の CRUD 足場がある(推奨実装に置き換えて使う) | 無い。自前で組む |
DataGridView の自動バインド |
編集中の DataTable の保持 |
Session | Session(net10.0 は DTTables の JSON で格納) |
フォームのメンバ |
| CSRF | 不正操作防止機能 |
@Html.AntiForgeryToken() + [ValidateAntiForgeryToken]
|
—(Web ではない) |
| トランザクション | 自動 | 自動 | 2 層 C/S は手動(CommitAndClose) |
- 1 つのフォームから複数のアクションへは、ボタンの
formactionで送信先を分ける。 - フッタのボタンを
@sectionに置くなら、form="<フォームID>"で紐付ける(@sectionはフォームの外に描画される)。 - 一覧は
<table>を自前で生成し、各行に hidden のRows[i].RowIndexと各列のinputを出して、List<行の ViewModel>にモデル・バインドする。
Deletedの行は描画しないので、表示の連番ではなくDataTableの行インデックスを持ち回る。 - 一覧 → 詳細の戻りは、Session を避けて、検索条件をクエリ文字列で詳細へ渡し、[戻る] で再検索する。
一覧は SQL でページングする(一覧ページ制御方式)。UI のページャだけでページングしない。
- 仕様に処理方式・対象テーブル・方式((1) か (2) か)・ボタンを書き、該当するスキルを使わせる(仕様駆動の開発)。
- Dao はD層自動生成ツールの CLI で生成させる。
- 表示列は、仕様に明記が無ければ対象テーブルの全列を既定とする(スキルの規定)。
Tags: 再構築
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。