在VB.net中,DataGridView控件用到的次数不少,当然这个控件也的确是个强大的控件,不用我们写代码即可查询并显示数据。下面来介绍一下。
一、单纯显示数据(以“值班记录查询”窗体为例)
方案一:
设置好之后我们会发现,代码中自动出现了这钟格式的代码:Me.表名TableAdapter.Fill(Me.数据库名DataSet.表名),这行代码表示加载并显示数据。
运行效果如下:
方案二:代码实现
U层的界面只单纯的放一个DataGridView空间即可,不用做任何设置。
U层代码如下:
Public Class frmWorkLogInquire
Private Sub frmWorkLog_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Dim inquireworklogbll As New BLL.InquireWorkLogBLL
Dim mylist As New List(Of Entity.WorkLogEntity)
mylist = inquireworklogbll.InquireWorkLog()
'设置DataGridView控件绑定的数据源
DataGridView1.DataSource = mylist
'将DataGridView的标题改为中文
DataGridView1.Columns(0).HeaderText = "用户名"
DataGridView1.Columns(1).HeaderText = "上班时间"
DataGridView1.Columns(2).HeaderText = "下班时间"
'设置DataGridView的宽度
DataGridView1.Columns(1).Width = 250
DataGridView1.Columns(2).Width = 250
Catch ex As Exception
MsgBox(ex.Message, CType(vbOKOnly + MsgBoxStyle.Information, MsgBoxStyle), "提示")
End Try
End Sub
End Class
B层代码如下:
'*************************************
'文件名:InquireWorkLog
'命名空间:BLL
'作者:郑艳霞
'小组:
'创建时间:
'版本号:v1.0
'修改时间:
'修改人:
'*************************************
Public Class InquireWorkLogBLL
''' <summary>
''' 调用D层,查询WorkLog表,并判断
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function InquireWorkLog() As List(Of Entity.WorkLogEntity)
Dim mylist As List(Of Entity.WorkLogEntity)
Dim worklogdal As New DAL.WorkLogDAL '实例化worklogdal
mylist = worklogdal.SelectWorkLog()
'判断是否查询到记录
If mylist.Count = 0 Then
Throw New Exception("暂时没有值班记录!")
End If
Return mylist
End Function
End Class
D层代码:
Imports System.Data.SqlClient
Imports System.Data
Public Class WorkLogDAL
''' <summary>
''' 查询WorkLog表
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Function SelectWorkLog() As List(Of Entity.WorkLogEntity)
Dim sql As New SQLHelper.SqlHelper
Dim dt As New DataTable
Dim mylist As New List(Of Entity.WorkLogEntity)
Dim strsql As String = "Select * from WorkLog "
dt = sql.ExecSelectNo(strsql, CommandType.Text)
mylist = ConvertHelper.convertToList(Of Entity.WorkLogEntity)(dt)
Return mylist
End Function
End Class
运行结果:
二、根据条件查询(以“用户管理”窗体为例)
方案三:
同上文一中的方案一,只在加些许修改,以下步骤接上图步骤8.
确定之后,会自动生成下图代码,表示按设置的查询条件查询。
设置ComboBox控件的选择事件
运行效果如下:
方案四:
用代码写就好说了,在上文方案二中稍作修改。
U层代码中加上参数的传递,另外再改一下D层的SQL语句,OVER。(大家有兴趣可以自己试试)。
小结:
终于完事了,截这些图也是够费劲的。vb.net中的DataGridView控件真是强大,不用写代码就能得到自己想要的,不错不错。但是还是决定两种方法都试试,也算一种积累。