有一列里面的資料有些是空的,當首次點擊表頭時默認把空資料顯示在前面了,好像是順序排序;
怎么改變DataGrideView列的默認排序,當第一次點擊串列頭時把有資料的行排在前面?
uj5u.com熱心網友回復:
你在寫sql陳述句時把順序改變下就行了啊,這樣填充的dataset就不是默認的,系結到DataGrideView時就不用改了uj5u.com熱心網友回復:
對資料源進行排序uj5u.com熱心網友回復:
資料表好幾個欄位都是這樣的,比如其中兩列資料A D
- -
C -
- -
- X
D -
按照資料源排序只能顯示一種情況,而且默認得按時間排序
我要查看第一列資料要點兩次表頭,第二列資料也是如此。第一次點擊空資料都排在前面。。
uj5u.com熱心網友回復:
那么你就不用直接系結,通過sql獲取到表格內容填充至dataset后自己寫代碼將dataset里面的內容填充至datagridview里,這樣就能夠變換datagridview的顯示。
比如說,從資料庫獲得的dataset是你這樣的
A D
- -
C -
- -
- X
D -
而你要讓datagridview第一次顯示成這樣
C -
D -
- -
- -
- X
思路就是遍歷dataset的datatable的第一列,當不為空時直接復制在datagridview里,為空放在另外一個datatable里,遍歷完后就把另外的datatable追加在datagridview,這樣datagridview顯示出來的就是
C -
D -
- -
- -
- X
。
如果你點擊第二串列頭時要顯示出第二列資料的第一行不為空,道理也是如此,就遍歷dataset的datatable的第二列,當不為空時直接復制在datagridview里,為空放在另外一個datatable里,遍歷完后就把另外的datatable追加在datagridview,這樣datagridview顯示出來的就是
- X
- -
C -
- -
D -。
于是你就可以把填充datagridview的代碼寫成一個通用的方法,假如是paixu(列引數),傳入引數則為第幾列,load里默認第一列排序,在表頭點擊事件里就對應傳引數就行了。這樣你程式運行后默認是第一列為空的在后面,當你點擊不同列的表頭時,就會更新datagridview,將對應列的不為空的行按照順序顯示出來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/102045.html
標籤:C#
上一篇:c#chart
下一篇:小白的難言之隱
