首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

协作版机房收费系统1

2013-03-19 
合作版机房收费系统11.主界面为MDI父窗体,要求加载时,将一个子窗体显示出来,子窗体不能有最大最小关闭按钮

合作版机房收费系统1

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

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

协作版机房收费系统1

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

 Me.MainMenuStrip = MenuStrip1

 

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

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

协作版机房收费系统1

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

协作版机房收费系统1

       所以需要在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 FunctionEnd Class

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

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

热点排行