合作版机房收费系统1

       1.主界面为MDI父窗体,要求加载时,将一个子窗体显示出来,子窗体不能有最大最小关闭按钮,连标题也不能用.

        去掉标题容易,子窗体的Text的属性为空即可.将子窗体的FormBorderStyle改为None.但是,图中的控制按钮不是我想要的.

        MDI父窗体上加上下面这句,就可以去掉.(MenuStrip1是我用到的菜单控件的Name)但是还是有问题,

 Me.MainMenuStrip = MenuStrip1

 

 ,控制按钮还是存在.将子窗体的ControlBox的属性改为False,表示窗体不要有"控件/系统"菜单框.

     2.外观层返回的DataTable类型数据,由于这次设计的是在D层是将所有数据查出,并且没有给字段名起别名.(以前是在D层写的Sql语句中就固定好了)

       而我需要的只是其中某些字段,并且希望不要显示数据库中的英文字段,而是中文字段.(我知道一种可以,做个数据库翻译器,将DataTable的字段名全部翻译为中文并返回,我觉得这个挺好的,只是需要再加一张表,以后一定会试着用的)

       所以需要在UI层处理,但是由于这种处理太多,所以写成方法.

Public Class frmNewTable
    Public Shared Function frmSetNewTable(ByVal dt As DataTable, ByVal strArray(,) As String) As DataTable
        Dim intRows As Integer  '用于获取数组的行数
        '等于数组中的总数/维数,如果是3行2列的,总数为6
        intRows = CInt(strArray.Length / strArray.Rank)

        Dim intIndex As Integer   '用于For循环的计数
        Dim strNewArray(intRows - 1) As String  '用于最后显示的新的数组,是1维的,给定了大小
        For intIndex = 0 To intRows - 1
            dt.Columns(strArray(intIndex, 0)).ColumnName = strArray(intIndex, 1)
            strNewArray(intIndex) = strArray(intIndex, 1)  '给新数组赋值
        Next
        dt = dt.DefaultView.ToTable(False, strNewArray)

        Return dt
    End Function
End Class

       而使用方法就是如下所有.其中dt是就是DataTable的实例化对象.

   '查询购卡信息
                dt = faCheckout.QueryBuyCard(cmbUserID.Text.Trim())
                '给frmSetNewTable方法的数组赋值.
                strArray = {{"cardNo", "卡号"},
                            {"stuNo", "学号"},
                            {"registerDate", "日期"},
                            {"registerTime", "时间"}}
                dgvShowBuyCard.DataSource = frmNewTable.frmSetNewTable(dt, strArray)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值