DataGrid 全レコード表示 [VB.NET]

Visual Basic.NET ADO.NETデータベースプログラミング

データグリッド列スタイル DataGridTextBoxColumn

DataAdapterオブジェクトのFillメソッドのパラメータにDataSetとテーブル名を指定し、全レコードをDataGridに表示。データグリッド列スタイルには、DataGridTextBoxColumnオブジェクトを使う。

MDB版 サンプルプログラム

DataGrid
コントロール プロパティ 設定値
DgrSyain Caption Text ** 社員一覧 **

「** 社員一覧 **」以外のデータグリッドスタイルはプログラム内で設定する。

ソースリストの枠内をクリックすると全選択できます。

Imports System.Data.OleDb

Public Class FormSelectAllGrid
    Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "
    ' 自動生成部分省略
#End Region

    '------------------------------------------------------------
    ' 社員テーブルから全レコードを取得しデータグリッドに表示する
    '------------------------------------------------------------
    Private Sub FormSelectAllGrid_Load _
        (ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        Dim con As New OleDbConnection()
        Dim cmd As New OleDbCommand()
        Dim da As New OleDbDataAdapter()
        Dim ds As DataSet = New DataSet()

        Try
            ' テーブルスタイルを生成する
            Dim dgStyle As DataGridTableStyle = _
            New DataGridTableStyle()
            dgStyle.MappingName = "社員テーブル"

            ' 列スタイルを生成し、プロパティを設定する
            Dim col(2) As DataGridTextBoxColumn

            ' 1列目:社員コード
            col(0) = New DataGridTextBoxColumn()
            col(0).HeaderText = "コード"
            col(0).MappingName = "社員コード"
            col(0).Width = 60
            col(0).Alignment = HorizontalAlignment.Center
            ' 2列目:社員氏名
            col(1) = New DataGridTextBoxColumn()
            col(1).HeaderText = "社員氏名"
            col(1).MappingName = "社員氏名"
            col(1).Width = 120
            col(1).Alignment = HorizontalAlignment.Left
            ' 3列目:社員カナ名
            col(2) = New DataGridTextBoxColumn()
            col(2).HeaderText = "社員カナ名"
            col(2).MappingName = "社員カナ"
            col(2).Width = 150
            col(2).Alignment = HorizontalAlignment.Left

            ' 列スタイルをテーブルスタイルに追加する
            dgStyle.GridColumnStyles.AddRange(col)

            ' テーブルスタイルをグリッドに追加する
            dgrSyain.TableStyles.Clear()
            dgrSyain.TableStyles.Add(dgStyle)

            ' DB接続文字列の設定
            con.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
            Application.StartupPath & "\sample.mdb"

            ' コネクションの設定
            cmd.Connection = con

            ' SQL文の設定
            cmd.CommandText = _
            "SELECT 社員コード, 社員氏名, 社員カナ " & _
            "FROM 社員テーブル ORDER BY 社員コード"

            ' データを取得する 
            da.SelectCommand = cmd
            ds.Clear()
            da.Fill(ds, "社員テーブル")

            ' データをバインドする
            dgrSyain.SetDataBinding(ds, "社員テーブル")

        Catch ex As Exception
            ' 例外が発生した時の処理
            MessageBox.Show(ex.ToString, "例外発生")

        End Try

    End Sub

End Class