前言
DataGridView也是机房重构时经常使用的一个控件,可以说是每次接触它都有不同的收获,很棒!
绑定数据
在第一次机房中使用相关的控件会发现比较麻烦,我们需要自己去设计相应的表格,然后将数据库中的数据显示在表格中,DataGridView的出现帮助我们减少了重复的工作。具体绑定工作请点击:vb.net版机房重构–充值记录查询
删除表中的数据
既然需要用表格来显示数据,那么势必就会要删除数据,度娘上搜索一下发现删除数据的方法有很多,但是很多都会报错,但是下面这个方法还不错,很简单,大家可以试试!
While (DataGridView1.RowCount > 0)
DataGridView1.Rows.Remove(DataGridView1.Rows(0))
End While
问题
然后就是在使用的过程中遇到的一些小问题了。
(1)窗体加载的时候数据就一起出来了
刚开始遇到这个问题很是吃惊,为什么我没有输入筛选条件,自己就出来数据了呢,后来分析之后才知道原来在查询数据进行测试时输入了相应的数据,控件自己就默认它了,于是对代码做了如下修改:
'TODO: 这行代码将数据加载到表“Rechargerecord.recharge”中。您可以根据需要移动或删除它。
Me.RechargeTableAdapter.Fill(Me.Rechargerecord.recharge)
我们知道以上代码是控件完成设计时系统自动在Load窗体中生成的,正是因为有它所以数据才会自己跑出来,所以把它删除即可,可见,系统自己生成的东西也未必适合我们,很多东西还是需要我们自己去探索。
(2)根据相应的学号去筛选数据并根据结果弹出框提示
a.对于筛选数据这里,我用到的就是登陆窗体的判断用户(卡号)是否存在,各个层的写法也和登陆窗体大同小异,这里就不做赘述了
b.我们知道有时候一些程序点击之后会一直不响应,有时候是在处理数据,有时候确实已经进入死循环,无法继续执行了,为了让用户更准确地知道我们程序发生了什么,一些弹出框是必不可少的。其实这里一个简单的if语句就结局了!
If strUser = True Then
Try
Me.LoginUserTableAdapter.FillBy(Me.CheckOnlinerecord.LoginUser,CType(UserIDToolStripTextBox.Text,Integer))
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
Else
MsgBox("该学号不存在,请重新输入!")
txtUserID.Text = ""
txtUserID.Focus()
'清除表中的数据
While (DataGridView1.RowCount > 0)
DataGridView1.Rows.Remove(DataGridView1.Rows(0))
End While
End If
结语
对DataGridView控件控件的理解到目前为止就是这些,相信在之后也会遇到不同的问题和解决方案,小编会在不断学习的过程中不断更新,如果不同理解,还望指出,共同学习!