Web版:DataGrid テーブルレコード表示
DataAdapterオブジェクトのFillメソッド使って、検索したレコードをDataGridに表示するWeb版のサンプルです。
MDB版 サンプルプログラム
コントロール | プロパティ | 設定値 |
---|---|---|
TxtMinCode | Text | "" |
TxtMaxCode | Text | "" |
BtnSelect | Text | グリッド表示 |
DgrSyain | Caption Text | ** 社員一覧 ** |
LblMessage | BorderStyle | Double |
MessageBox.Showを使えないので、ラベルにエラーメッセージを表示します。
データグリッドのページングは、データグリッドオブジェクトのメンバーを使います。
ソースリストの枠内をクリックすると全選択できます。
Imports System.Data.OleDb Public Class WebFormSelectRangeGrid Inherits System.Web.UI.Page Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents TxtMinCode As System.Web.UI.WebControls.TextBox Protected WithEvents TxtMaxCode As System.Web.UI.WebControls.TextBox Protected WithEvents BtnSelect As System.Web.UI.WebControls.Button Protected WithEvents DgrSyain As System.Web.UI.WebControls.DataGrid Protected WithEvents LblMessage As System.Web.UI.WebControls.Label #Region " Web フォーム デザイナで生成されたコード " ' 自動生成部分省略 #End Region '------------------------------------------------------------------ ' ページロード処理 '------------------------------------------------------------------ Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load If IsPostBack Then ' 社員一覧データグリッド生成 ' 注:PageIndexChangedイベントが発生した時に必要 Me.GenerateDgrSyain() End If End Sub '------------------------------------------------------------------ ' 社員テーブルからレコードを取得し、データグリッドに表示する '------------------------------------------------------------------ Private Sub BtnSelect_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles BtnSelect.Click ' 先頭頁を設定 Me.DgrSyain.CurrentPageIndex = 0 ' 社員一覧データグリッド生成 Me.GenerateDgrSyain() End Sub '---------------------------------------------------------------------- ' ページ番号クリック処理 '---------------------------------------------------------------------- Private Sub dgrSyain_PageIndexChanged(ByVal source As Object, _ ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) _ Handles dgrSyain.PageIndexChanged ' 選択された頁を設定 Me.DgrSyain.CurrentPageIndex = e.NewPageIndex ' 社員一覧データグリッド再度生成 Me.GenerateDgrSyain() End Sub '---------------------------------------------------------------------- ' 社員一覧データグリッド生成 '---------------------------------------------------------------------- Private Sub GenerateDgrSyain() Dim con As New OleDbConnection() Dim cmd As New OleDbCommand() Dim da As New OleDbDataAdapter() Dim ds As New DataSet() Try ' ページング機能を有効にする Me.DgrSyain.AllowPaging = True ' データグリッドのページング関連プロパティの設定 Me.DgrSyain.PageSize = 5 Me.DgrSyain.PagerStyle.Mode = PagerMode.NumericPages Me.DgrSyain.PagerStyle.PageButtonCount = 5 Me.DgrSyain.PagerStyle.Position = PagerPosition.Top Me.DgrSyain.Width = New Unit(320) Me.DgrSyain.Height = New Unit(18) ' データグリッド列クリア Me.DgrSyain.Columns.Clear() ' データグリッド列を生成 Dim col(2) As BoundColumn ' 1列目:社員コード col(0) = New BoundColumn() col(0).HeaderText = "コード" col(0).DataField = "社員コード" col(0).ItemStyle.Width = New Unit(50) col(0).ItemStyle.HorizontalAlign = HorizontalAlign.Center Me.dgrSyain.Columns.AddAt(0, col(0)) ' 2列目:社員氏名 col(1) = New BoundColumn() col(1).HeaderText = "社員氏名" col(1).DataField = "社員氏名" col(1).ItemStyle.Width = New Unit(120) Me.dgrSyain.Columns.AddAt(1, col(1)) ' 3列目:社員カナ名 col(2) = New BoundColumn() col(2).HeaderText = "社員カナ名" col(2).DataField = "社員カナ" Me.DgrSyain.Columns.AddAt(2, col(2)) ' DB接続文字列の設定 ' プロジェクトフォルダにsample.mdbを置く con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ Request.MapPath("") & "\bin\sample.mdb" ' コネクションの設定 cmd.Connection = con ' SQL文の設定 cmd.CommandText = "SELECT 社員コード, 社員氏名, 社員カナ " cmd.CommandText &= "FROM 社員テーブル " cmd.CommandText &= "WHERE 社員コード >=@minCode " cmd.CommandText &= "AND 社員コード <= @maxCode " cmd.CommandText &= "ORDER BY 社員コード" cmd.Parameters.Add("@minCode", OleDbType.Char, 5) cmd.Parameters("@minCode").Value = Me.TxtMinCode.Text cmd.Parameters.Add("@maxCode", OleDbType.Char, 5) cmd.Parameters("@maxCode").Value = Me.TxtMaxCode.Text ' データを取得する da.SelectCommand = cmd ds.Clear() da.Fill(ds, "社員テーブル") ' データをバインドする Me.DgrSyain.DataSource = ds Me.DgrSyain.DataBind() Catch ex As Exception ' 例外が発生した時の処理 Me.LblMessage.Text = ex.ToString End Try End Sub End Class
- Windows版:テーブルの全レコードをDataGridに表示する
- Web版:テーブルの全レコードをDataGridに表示
- Windows版:テーブルの特定レコードをDataGridに表示