DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGrid スクロール

環境/言語:[vb.net2003]
分類:[.NET]

「DataGrid内の指定された行までスクロールする」で紹介してある
ロジックを流用させていただいているのですが、

1.表示する行は20行あるとします
2.ここで、わざと50行目にスクロールするよう上記プロシジャを呼びます
3.見かけは、20行目にフォーカス?があるような状態で表示されます

4.ついで、5行目ににスクロールするよう上記プロシジャを呼びます
すると
Dim args As New ScrollEventArgs(ScrollEventType.LargeIncrement, rowNum)
Me.GridVScrolled(Me, args) ←の場所で
インデックスの範囲外の例外が発生します
CurrentRowIndexは20になっています

回避する方法はないでしょうか?
2.の実行後に何かすればいいのかなとグリッドをrefreshしてもだめなようです

よろしくお願いします
こんにちわ。

> 2.ここで、わざと50行目にスクロールするよう上記プロシジャを呼びます

この時点で、20行目以上の数字が指定されていたら、
必ず20行目を指定するような判別を加えてみてはどうでしょうか?

If Row > 20 Then Row = 20

のような・・・
件数が最大件数を超えるような場合、
最大件数に設定し直せば何とかなるのは想像がついていたのですが

datagirdにバインド?されているdatatableのデータ件数を取得する方法が
わからず先のような質問になりました

ご存じの方いらっしゃいましたら、よろしくご教授願います

DataSourceの件数ですかね??

もしそうであれば、

DataGrid.BindingContext(DataGrid.DataSource, _
DataGrid.DataMember).Count

これで取得できると思います。

違ってたらごめんなさい・・・
ビンゴ!

正しく件数が取得できました
ありがとうございます
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板