-
Notifications
You must be signed in to change notification settings - Fork 0
MS_Grid
nishi_74322014 edited this page Sep 1, 2026
·
1 revision
- 戻る(その他、開発の色々)
...。
移行メモ(原文には「戻る」がない): 移行元のページには
戻り先の記載がなかったため、
内容の位置付けから その他、開発の色々 を補った。
補足(本ページはハブである): 原文は概要が空欄で、
2 つの子ページへのリンクだけを持つ。
ここでは「Grid(表形式の UI)」について、
本 Wiki 内での位置付けを補っておく。【本 Wiki で Grid を扱っているページ】 Grid(本ページ) ├ Gridのヘッダ固定方法 … スクロールしてもヘッダを残す └ GridViewとjQGrid … サーバ側 vs クライアント側 関連: ASP.NET MVCのWebGrid … MVC 向けの表ヘルパー(廃れた) ASP.NET MVCでDataTableを使用する。 … DataTable を表にする
補足(Grid をどう実現するかの選択肢): 「一覧表を作る」という
要件は業務システムで最も頻出であり、選択肢が世代ごとに変わってきた。
世代 手段 性質 Web Forms <asp:GridView>サーバ側で HTML を生成。ポストバックで並べ替え・ページング MVC WebGrid/ 素のforeachASP.NET MVCのWebGrid jQuery 期 jqGrid、DataTables.js クライアント側で並べ替え・検索 SPA 期 AG Grid、TanStack Table、MUI DataGrid 仮想スクロール、列固定、編集 Blazor QuickGrid、Radzen、SyncfusionC# で書ける デスクトップ DataGridView(Windows Forms)、DataGrid(WPF)**選定で効く軸は「どこでページングするか」**である。
【クライアント側ページング】 全件をブラウザに送り、JS が切り分けて表示する ○ 並べ替え・検索が速い(サーバに行かない) ✗ 【件数が増えると破綻する】(数千件で重くなる) ✗ 全件を送る= 見せてはいけない行まで送る危険 ★ 【サーバ側ページング】 表示する 20 件だけを DB から取る ○ 件数に依存しない ○ 認可を DB クエリで効かせられる ✗ 並べ替え・ページ移動のたびに往復する → 【業務システムは原則サーバ側ページング】 ([ASP.NET MVCでDataTableを使用する。] でも同じ結論)-- SQL Server でのページング(2012 以降) SELECT ... FROM 明細 ORDER BY 伝票番号 OFFSET @skip ROWS FETCH NEXT @take ROWS ONLY;件数取得(
COUNT(*))が重くなりがちな点にも注意する。
総ページ数の表示をやめ、
**「次へ」だけにする(カーソル ページング)**と
大規模データでも安定する。
- ASP.NET Core Blazor QuickGrid コンポーネント
https://learn.microsoft.com/ja-jp/aspnet/core/blazor/components/quickgrid - DataGridView コントロール(Windows Forms)
https://learn.microsoft.com/ja-jp/dotnet/desktop/winforms/controls/datagridview-control-windows-forms - DataGrid(WPF)
https://learn.microsoft.com/ja-jp/dotnet/desktop/wpf/controls/datagrid
Tags: 移行, その他、開発の色々
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。