TrueDBGridの基本 データ表示
データを表示するだけサンプル
EMPTESTテーブル(EMPと同じ構造で10万行)をTrueDBGridで表示してみます。
デザイナでは以下のようにボタンとTrueDBGridを配置しただけです。

Const cmdSelect As String = _
"select " & _
"EMP.EMPNO, EMP.ENAME, EMP.JOB, EMP.MGR, EMP.HIREDATE, " & _
"EMP.SAL, EMP.COMM, EMP.DEPTNO " & _
"from EMPTEST EMP " & _
"order by EMP.EMPNO"
'ストップウオッチ
Dim sw As New System.Diagnostics.Stopwatch()
Dim swBind As New System.Diagnostics.Stopwatch()
Try
'ストップウォッチを開始する
sw.Start()
Using da As New OracleDataAdapter(cmdSelect, ConnectionString)
dt = New DataTable
da.Fill(dt)
'ストップウォッチを開始する
swBind.Start()
'DataSourceプロパティ
C1TrueDBGrid1.DataSource = dt
'ストップウォッチを止める
swBind.Stop()
'結果を表示する
Console.WriteLine("Grid DataBind Time : " & swBind.Elapsed.ToString)
End Using
sw.Stop()
'結果を表示する
Console.WriteLine("Total Time : " & sw.Elapsed.ToString)
Catch ex As Exception
MessageBox.Show(ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
End Try
データを表示しました

やっている事は
1.OracleDataAdapterのFillメソッドでデータテーブルdtにデータを格納し
2.データテーブルdtをTrueDBGridのDataSourceプロパティにセットする
たった、これだけです。
処理が速いなぁ
10万件持ってきていますが、以下の計測の通り高速に動作してくれます。

Grid DataBind Time は DataSourceプロパティにセットしてから終了まで、Total Time は全体の処理時間です。
筆者のPC環境が劣悪で全体的に遅いとは思うけれども、それでも速いです。
(筆者のPC環境:WindowsXP SP3 : Dell GX270 :Pen4 2.8GHz : メモリ 1GB : スワップしまくり状態)
初回に比べて、2回目以降のGrid DataBind Timeは時間が掛かっています。
Gridの内容をクリアするのに時間が掛かるのでしょうか?ちょっとわかりません。
いずれにしても速い部類にはいるのではないでしょうか?
まとめ
以上のように単純なデータ表示ならば、ヒジョーに簡単にプログラムを作る事ができます!!
履歴
- 2011/07/12
- 公開
