BindingContext BindingManagerBase VB.NET

      2017/07/13

今回はデータテーブルのレコードを取得してテキストボックス1に表示します。

新しくプロジェクトを作成します。

今回の動作仕様

ボタン1にsqlを実行されます。グリッドに表示させます。

ボタン2に前に。
ボタン3に後ろに。
ボタン4に最初に。
ボタン5に最後に。

ソース
Imports System.Data.SqlClient
Public Class Form1
Dim cn As New SqlConnection(
"Data Source=(local)\SQL;" +
"Initial Catalog=ADO;" +
"Integrated Security=True;Pooling=False")
Dim table As New DataTable()

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim cmd As New SqlCommand("select * from meibo", cn)
Dim adapter As New SqlDataAdapter(cmd)
adapter.Fill(table)
DataGridView1.DataSource = table
End Sub

Private Sub number()
Dim bmb As BindingManagerBase = Me.BindingContext(table)
TextBox1.Text = bmb.Position
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.BindingContext(table).Position += 1
number()

End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.BindingContext(table).Position -= 1
number()
End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Me.BindingContext(table).Position = 0
number()
End Sub

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.BindingContext(table).Position = table.Rows.Count
number()
End Sub
End Class

Me.BindingContext(table).Position でポジションを取得してます。

numberのサブルーチンでBindingManagerBase に代入して。
テキストボックスに表示してます。

table.Rows.Countはテーブルの数を取得してます。

あまり深く考えずこう使うんだぐらいでいいと思います。

PR



 - ADO.NET

Translate »