|
分類:[VB.NET/VB2005 以降]
VB2008 Express Edition
お世話になります。
DataGridViewにデータバインドさせているDataViewを
複数カラムでソートさせています。
ソースは下記です。
Public Sub test()
Dim dt As DataTable
Dim dr As DataRow
dt = New DataTable()
dt.Columns.Add("a", GetType(String))
dt.Columns.Add("b", GetType(String))
dt.Columns.Add("c", GetType(String))
dt.Columns.Add("d", GetType(String))
****** DataTableにデータを入れる処理 *******
Dim dv As DataView
dv = New DataView(dt)
DataGridView1.DataSource = dv
'ソート処理
LetSort()
'試してみた処理
DataGridView1.FirstDisplayedScrollingRowIndex = 0
End Sub
Private Sub LetSort()
'DataGridView1のソート
Dim dv As DataView
dv = DataGridView1.DataSource
dv.Sort = "a ASC, c DESC"
End Sub
このとき処理結果は(以下はDataGridViewでの表示結果とお考え下さい)
----------------
a |b |c |d ←1行目はヘッダー
|あ|22:00 | ←2行目のカラム「b」に値がある状態
| |21:00 |
●| |20:00 |
■| |19:00 |
上記結果の2行目(カラム「b」に値がある行)が初期表示でスクロールされ
3行目からの表示となっています。これをきちんと2行目から表示されるよう
修正したいのですが方法がわかりません。
FirstDisplayedScrollingRowIndexプロパティを使ってインデックス0を初期
表示にしようとしましたが結果は変わりません。
つたない説明で申し訳ありませんが、どなたかアドバイス頂けないでしょうか?
|