首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

快来帮帮小弟我吧

2012-06-01 
快来帮帮我吧数据库连接什么的都没问题,绑定好之后,指针不往下移动,显示的一直都是第一条数据[codeVB.NET

快来帮帮我吧
数据库连接什么的都没问题,绑定好之后,指针不往下移动,显示的一直都是第一条数据
[code=VB.NET][/code]
  Private Sub formmain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   
  Dim selectCmd As String = "select Person as 联系人,Telephone as 手机,Phone as 电话,Email as 邮箱,Relation as 关系, Comperny as 单位 from 电话表 "
  Dim connStr As String = "Server=localhost;database=vb.net;integrated security=SSPI"
  Dim conn As SqlConnection, myAdapter As SqlDataAdapter
  Dim myDataSet As DataSet = New DataSet()
  conn = New SqlConnection(connStr)
  conn.Open()
  myAdapter = New SqlDataAdapter(selectCmd, conn)
  myAdapter.Fill(myDataSet, "电话表")
  Dim bindName As Binding = New Binding("Text", myDataSet, "电话表.联系人")
  Dim bindRelation As Binding = New Binding("Text", myDataSet, "电话表.关系")
  Dim bindComperny As Binding = New Binding("Text", myDataSet, "电话表.单位")
  Dim bindTelephone As Binding = New Binding("Text", myDataSet, "电话表.手机")
  Dim bindPhone As Binding = New Binding("Text", myDataSet, "电话表.电话")
  Dim bindEmail As Binding = New Binding("Text", myDataSet, "电话表.邮箱")
  txtname.DataBindings.Add(bindName)
  txtclass.DataBindings.Add(bindRelation)
  txtcomperny.DataBindings.Add(bindComperny)
  txtTelephone.DataBindings.Add(bindTelephone)
  txtphone.DataBindings.Add(bindPhone)
  txtemail.DataBindings.Add(bindEmail)
  Bm = Me.BindingContext(myDataSet, "电话表")
  CheckBm()
   
  End Sub
 Private Function CheckBm()
   
  If Bm.Position = 0 Then
  btnFirst.Enabled = False
  btnPrev.Enabled = False
  btnLast.Enabled = True
  btnNext.Enabled = True
  ElseIf Bm.Position = Bm.Count - 1 Then
  btnFirst.Enabled = True
  btnPrev.Enabled = True
  btnLast.Enabled = False
  btnNext.Enabled = False
  Else
  btnFirst.Enabled = True
  btnPrev.Enabled = True
  btnLast.Enabled = True
  btnNext.Enabled = True
  End If
   
  End Function

  Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  Bm.Position = 0
  CheckBm()

  End Sub

  Private Sub btnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  If Bm.Position > 0 Then
  Bm.Position -= 1
  End If
  CheckBm()
  End Sub

  Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  If Bm.Position < Bm.Count - 1 Then
  Bm.Position += 1
  End If
  CheckBm()
  End Sub

  Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  Bm.Position = Bm.Count - 1
  CheckBm()
  End Sub

[解决办法]
必须用邦定吗?
也可以直接在DataTable中读取出数据来显示在文本框中。
逻辑如下:
1、写一个ShowData的方法(带有一个整形的参数),用来显示DataTable中指定行的数据。
2、在btnFirst、btnPrev、btnNext、btnLast四个按钮中确定当前行,然后将当前行作为参数调用ShowData方法显示当前行的数据。

热点排行