【VB.NET机房重构】DataGridView数据显示

        在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控件真是强大,不用写代码就能得到自己想要的,不错不错。但是还是决定两种方法都试试,也算一种积累。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值