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
- 公開