[英]DataGridView Multiple Column Sort in VB.NET Not Working
我有一個DataGridView
控件,其中包含玩家列表,以及他們玩過,贏了,輸了多少場比賽,他們的獲勝百分比和高分。 我知道控件默認情況下只能按單個列排序,但是我發現一段代碼看起來應該可以工作,但是此后並沒有用數據填充控件。
這是我已在程序中實現的代碼:
' Style the DataGridView table and customise sorting by PERC, WON and then HIGH
With frmHighscores
Dim table As New DataTable()
table.Columns.Add("Name", GetType(String))
table.Columns.Add("P", GetType(Integer))
table.Columns.Add("W", GetType(Integer))
table.Columns.Add("L", GetType(Integer))
table.Columns.Add("%", GetType(Decimal))
table.Columns.Add("High", GetType(Integer))
For l = 0 To 9
table.Rows.Add(LNAME(l), PLAYED(l), WON(l), LOST(l), PERC(l), HIGH(l))
Next
table.DefaultView.Sort = "% Desc, W Desc, High Desc"
.dgvHighscores.DataSource = table
End With
如您所見,我創建了一個表,按3列對其進行排序,然后嘗試將其作為數據源綁定到我的控件,但是控件僅顯示空單元格; 沒有數據。 數組LNAME()
, PLAYED()
, WON()
, LOST()
, PERC()
和HIGH()
都包含與表中定義的數據類型相同的數據。 我最初使用它們將行直接添加到控件中,然后再嘗試使用這種多排序,但未顯示數據。
我在這里做錯了什么? 將table
設置為數據源后,為什么DataGridView控件不顯示數據?
編輯:圖像已添加
對不起,圖像質量差。
像往常一樣,經過一些努力,我設法弄清楚了-數據就在那里-但是由於我已經在窗體的對象中添加了列,因此程序在這些結尾處添加了它們! 我出於好奇而滾動,它們在那里。
也許這將對嘗試使用DataGridView對象進行多列排序的其他人有所幫助-我的原始代碼是正確的,但請確保未在表單(對象屬性)上添加任何列。
從下面的圖片中可以看到,它是按%,然后是W,然后是高手作為高手來排序的。 快樂的日子😊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.