您的位置:首页 > 其它

合作版机房收费系统1

2013-03-17 19:01 253 查看
       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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: