首页 > Windows开发 > 详细

【机房收费系统】DataGridView控件的使用

时间:2015-03-23 13:30:11      阅读:290      评论:0      收藏:0      [点我收藏+]

   机房重构的过程,有许多功能的实现需要将数据库表中的数据显示在DataGridView控件中。这个功能的实现很简单,只要将D层中查询出来的数据以DataTable对象或者实体泛型加载到DataGridView控件即可。以查询退卡记录窗体为例:   

    Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click
        '实例化实体ReturnEntity类
        Dim UReturnCard = New Entity.ReturnEntity()
        '实例化B层中ReturnBll类
        Dim Breturncard = New BLL.ReturnCardBLL()
        '获取退卡日期
        UReturnCard.ReturnDate = DateTimePicker1.Value
        '给参数赋值
        Dim date1 = CStr(DateTimePicker1.Value.Date)
        Dim date2 = CStr(DateTimePicker2.Value)
        '经过查询ReturnCard_info表,返回实体泛型returnList
        Dim returnList = Breturncard.SelectDate(date1, date2)
        '通过DataGridView控件的DataSource属性为其加载数据源returnList
        DataGridView1.DataSource = returnList
    End Sub
  显示结果为:

  技术分享

  咦,大家会发现虽然实现了功能,但是DataGridView控件中的列名是ReturnCard_info表中的字段。这对于用户来说是一件非常匪夷所思的事情,用户虽然看到了信息,但是并不知道这个表的列和行代表什么意思。作为一名软件设计人员来说,UI的设计是很重要的。很显然,这样的UI肯定不是用户想看到的。那么我们就要去优化它,把该它改成用户想要看到的界面。这里给大家提供两种方法。

   一、通过设置DataGridView属性。

   右击DataGridView —>编辑列—>添加

   技术分享

   2、编辑要显示的列名

   技术分享

   3、修改要替换的字段名

   技术分享

   通过这种方法能够实现我们想要的,另外的一种的方法是编写代码。

   二、编写代码  

    Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click
        '实例化实体ReturnEntity类
        Dim UReturnCard = New Entity.ReturnEntity()
        '实例化B层中ReturnBll类
        Dim Breturncard = New BLL.ReturnCardBLL()
        '获取退卡日期
        UReturnCard.ReturnDate = DateTimePicker1.Value
        '给参数赋值
        Dim date1 = CStr(DateTimePicker1.Value.Date)
        Dim date2 = CStr(DateTimePicker2.Value)
        '经过查询ReturnCard_info表,返回实体泛型returnList
        Dim returnList = Breturncard.SelectDate(date1, date2)
        '通过DataGridView控件的DataSource属性为其加载数据源returnList()
        'DataGridView1.DataSource = returnList
        Dim dt As New Data.DataTable
        dt.Columns.Add("卡号")
        dt.Columns.Add("退卡教师")
        dt.Columns.Add("退卡日期")
        dt.Columns.Add("退卡时间")
        dt.Columns.Add("退卡金额")
        dt.Columns.Add("结账状态")
        '申明一新行
        Dim dataNewRow As DataRow
        For i = 0 To returnList.Count - 1
            UReturnCard = returnList.Item(i)
            dataNewRow = dt.NewRow()
            '显示数据
            dataNewRow.Item(0) = UReturnCard.CardID
            dataNewRow.Item(1) = UReturnCard.ReturnCash
            dataNewRow.Item(2) = UReturnCard.ReturnDate
            dataNewRow.Item(3) = UReturnCard.ReturnTime
            dataNewRow.Item(4) = UReturnCard.UserID
            dataNewRow.Item(5) = UReturnCard.ICheck
            dt.Rows.Add(dataNewRow)
        Next
        '绑定数据源
        DataGridView1.AutoGenerateColumns = True
        DataGridView1.AllowUserToAddRows = False
        Me.DataGridView1.DataSource = dt
        Me.DataGridView1.Refresh()

    End Sub
   看一下显示后的效果吧!

  技术分享

   总结

  UI的设计是是否能抓住用户的关键,一款好的软件首先是看她的界面如何 。我们要从现在培养起这种意识,从用户的角度从发去设计自己的系统。

【机房收费系统】DataGridView控件的使用

原文:http://blog.csdn.net/mhj9388/article/details/44538441

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!