我有一個綁定到DataSet的DataGridView。它有DateCreated,Weight,DateUsed列。這三列在DataGridView上佔用的空間幾乎是全屏。如果視圖足夠寬以支持第二組這些柱,是否有可能讓這些列回到頂部?因此,通過標題可以讀取DateCreated,Weight,DateUsed,DateCreated,Weight,DateUsed。然後當單擊一行時,只有3個單元格會突出顯示,而不是全部六個。有什麼可以提供這種功能嗎?多「列」DataGridView C#
回答
我不知道任何開箱即用的東西。
您可以自己創建該效果。您需要將實際數據與數據表示分開。而不是每個網格行的單個DataRow,您需要將它們合併在一起以在單個行上顯示多行。
所以你的helper方法,不妨做到以下幾點:
- 在DataGridView的寬度相較於行
- 的數量確定列需要多少數據行可見
- 建立額外一個新的DataTable列設置爲代表每列
- 示例:DateCreated1,重量1,DateUsed1,DateCreated2,加權2,DateUsed2等
- 填充的DataTable與原始數據集
- 綁定的DataGridView到新表
一些注意事項:用戶可以對數據進行排序?如果是這樣,你必須自己寫。
您是否需要使用此視圖添加新行?這種看法聽起來很難。
不,用戶無法排序,添加或刪除行。感謝您的輸入。雖然不是我正在尋找的東西,但這似乎是我必須去的方式。 – Wesley 2010-04-07 12:52:50
非常難以理解你究竟是什麼意思,但我確定它可以用一些JS功能來完成,在這裏你計算列寬和瀏覽器/屏幕寬度並相應地調整DataGridView。設置「td」單元格寬度可能會遇到一些問題,因此更改爲CSS提供程序並將其渲染爲div和跨度可能是一種選擇。
這不是一個Web應用程序,只是您的Windows Forms應用程序的標準運行。 – Wesley 2010-04-05 17:46:43
可能很俗氣,但只是並排粘貼兩個DGV,關閉左側DGV的垂直滾動條,將每個DGV與一半數據綁定,並用右側DGV的滾動條控制它們。
除此之外,我認爲你需要一點點的編碼才能讓單個DGV做你想做的事。
我意識到你在四月發佈了這個問題,所以你可能已經找到了解決方案,或者轉移到其他方面。但是,我最近寫的確實基本上你形容真是一個典型的控制,你可以從這裏到位桶免費下載:
https://bitbucket.org/dtao/taocontrols/downloads
如果你有興趣,給SplitDataGridView
控制開槍,讓我知道你的想法。
- 1. DataGridView C#綁定多個列表
- 2. Datagridview C多線程#
- 3. C#Resize DataGridView列寬
- 4. datagridview的列名C#
- 5. C#中的Datagridview列?
- 6. DataGridView返回太多列
- 7. c#datagridview多頁打印
- 8. c#Datagridview多個過濾器
- 9. C# - 在DataGridView中選擇列
- 10. C#DataGridView字典的列表
- 11. C#中的DataGridView按鈕列?
- 12. DatagridView中的額外列C#
- 13. datagridview C#中的按鈕列?
- 14. datagridview中的日曆列c#
- 15. C#Winforms DataGridView時間列
- 16. DataGridView從多列綁定
- 17. Datagridview - 多列組合框
- 18. c#datagridview從列表/字典/數據表datagridview combobox列datasouce
- 19. DataGridView C#
- 20. C#根據列表框的多個選項過濾datagridview
- 21. C#DataGridView如何限制多選到只有相同的列?
- 22. 比較Datagridview行數據與多列
- 23. 複製多行選擇的datagridview到另一個datagridview的C#
- 24. C#循環填充多個DataGridView
- 25. C#datagridview與多個表連接查詢
- 26. datagridview在c中的多線程#
- 27. C#DataGridView多選擇被覆蓋
- 28. C#:DataGridView控件中的多行文本
- 29. datagridview鍵盤上的多個選擇c#
- 30. 作爲其他DataGridView DataSource的C#Datagridview列 - 根本沒有行
Windows Forms還是ASP.NET? – 2010-04-05 17:38:15
Windows Forms C# – Wesley 2010-04-05 17:48:12