首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# DataGridView 同時顯示多張表:建議用多個控件而非強行合併

     編輯:程式設計綜合問答

需求:在一個 DataGridView 顯示武器數據庫中「攻擊武器、防禦武器、戰車」三張表。技術上可通過 UNION ALL 加來源標識列合併查詢,但 UI 體驗極差(列不同、語義混淆)。

推薦方案

  • 三個 DataGridView 並排/分頁:各綁定對應 DataTable,列自適應、排序篩選互不干擾
  • TabControl 分頁:每頁一表,節省空間
  • Master-Detail:左側樹選表名,右側單 Grid 顯示詳情

強行合併的代價

SELECT 'Attack' AS src, id, name, dmg, null AS def, null AS speed FROM AttackWeapon
UNION ALL
SELECT 'Defense', id, name, null, def, null FROM DefenseWeapon
UNION ALL
SELECT 'Tank', id, name, null, null, speed FROM Tank;

結果:大量 null、列語義模糊、用戶無法針對單表編輯。維護成本遠高於多控件方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved