需求:在一個 DataGridView 顯示武器數據庫中「攻擊武器、防禦武器、戰車」三張表。技術上可通過 UNION ALL 加來源標識列合併查詢,但 UI 體驗極差(列不同、語義混淆)。
DataTable,列自適應、排序篩選互不干擾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、列語義模糊、用戶無法針對單表編輯。維護成本遠高於多控件方案。