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