在刚刚敲机房的时候遇到的问题就是DataGridView控件显示数据。好在被我解决了,好开心。下面分三部分来写这篇博客。
一、操作步骤
(1)新建一个WinForm窗体,在窗体中添加DataGridView控件,选中控件,点击控件上边缘的小三角,选择数据源,点击添加项目数据源。
(2)选择数据源类型,此处应选数据库类型
(3)选择你的机房收费系统的数据连接,或新建连接,点击下一步。
(4)根据你想要在窗体上显示的数据,选择数据库对象,包括要显示的列名后点击完成。
(5)DataGridView控件显示出要显示数据的列名,点击添加查询
(6)选择数据源表,并选择查询,或新建查询。在查询文本中添加相应的SQL语句。添加完成后,点击确定。
(7)按照第6步所写的SQL语句,点击完成后,窗体上显示出ToolStrip控件,包括Label,TextBox ,以及Button。用来根据条件在DataGridView中显示相应数据。
在窗体上再添加一个Label控件以及一个ComboBox控件用来选择用户级别。
(8)修改代码
全部设置完成后,代码是自动生成的,要向变成我们想要的结果,我们需要对代码进行修改。
例如:我想在窗体加载时不显示数据, 而当选择用户级别后,DataGridView才会显示相应的数据。由于DataGridView是根据控件ToolStrip的操作来显示数据的。所以我们要将ComboBox控件选择的内容赋值给ToolStripTextBox控件。同时将ToolStrip控件的Visible的属性设置为False。
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
LevelToolStripTextBox.Text = ComboBox1.SelectedItem.ToString()
Try
Me.User_InfoTableAdapter.FillBy1(Me.Charge_sysDataSet.user_Info, LevelToolStripTextBox.Text)
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub
按照如上代码,程序运行显示的结果,最后一行总是空行,为了删除这一空行,我们需要添加代码
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DataGridView1.AllowUserToAddRows = False
End Sub
(9)仅仅一些设置,几行代码就搞定了这个问题,更何况代码还是自动生成的,这让我慢慢的喜欢上了编程。
最终程序运行结果: