アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB2005、SQLServer2005環境です。

DataGridでDBのレコードを表示しています。
フォームのデザイナに、データソースに表示されている
テーブルをドラッグしただけでなので、現在は以下のように
なってます。

Private Sub TestForm_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load

Me.testTableAdapter.Fill(Me.DataSet.test)

End Sub

レコードが少なければ問題ないのですが、10万や20万と増えて
くると、これでは表示に時間がかかります。
(実際には数百程度しかデータは入らないのですが)。

DataGridViewに表示するレコードの数を200件程度にして、それ以上は
スクロールさせた時に表示するような形式にしたいと思うのですが、
それを実現するための方法を教えていただけないでしょうか?
できましたら、サンプルコードを交えて教えていただけると助かります。

宜しくお願いします。

A 回答 (3件)

DataGridViewのデータソースにDataViewを使ってはどうでしょうか。


DataViewはDataTableのDBで言うところのビューみたいなものです。
DataTableに主キーとかでフィルタをかけてDataViewを作成し、それをDataGridViewに連結するということです。

http://msdn2.microsoft.com/ja-jp/library/system. …
    • good
    • 0

確かにDataGridViewで大量のデータを扱うにはレスポンスが悪くなります。


データ量が多いのであれば、仮想モード(VirtualMode=TRue)で対応可能です。

ただし、表示などの制御も自分自身で行わなければなりませんので、
コード量は増えることになります。
    • good
    • 0

一般的にはテーブルの何処かのフィールドをキーにしてデータを抽出します


たとえば IDが20000番代のものだけとか苗字が山田の人だけとか

TabaleAdapterのSelectCommandに対してパラメータがあるのが普通だと思いますよ
select * from table where ID >=2000 and ID < 3000
といった具合に ・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A