转:Visual Basic.NET快速开发MIS系统(2)
点击次数:51 次 发布日期:2008-11-06 08:07:58 作者:源代码网
|
源代码网推荐 源代码网推荐 所处理的物理表 源代码网推荐 源代码网推荐 有了上面的类,我们就可应用它来实现MIS系统中关于物理表的操作功能。 源代码网推荐 源代码网推荐 例如我们有一个tInfo表、tUser表、tChange表、tSub表,表中都定义了主关键字字段FSYSTEMID, 表结构如下: 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 tChange表 源代码网推荐 源代码网推荐 tSub表 源代码网推荐 源代码网推荐 生成窗体模板 源代码网推荐 源代码网推荐 我们要向tInfo表、tUser二个表里插入数据,删除数据,更新数据,它们应该分别在二个Form里完成。这里,我们可先定义一Form模板,命名为FrmModule,在FrmModule上增加工具箱ToolBar1,在ToolBar1增加"增加"、"保存"按钮 、"删除"、"退出"等按钮,增加数据网络DataGrid1,文本盒及下拉列表盒。布置好后如下图: 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 把在继承的Form中可能会重新设置控件的控件对象的友元属性改为公有属性: 源代码网推荐 源代码网推荐 要使模板FrmModule中的控件能够在继承的窗体中能够修改其所继承的控件属性,必须把其友元属性改为公有属性 源代码网推荐 源代码网推荐 Public WithEvents Label2 As System.Windows.Forms.Label 源代码网推荐 Public WithEvents txt4 As System.Windows.Forms.ComboBox 源代码网推荐 … 源代码网推荐 源代码网推荐 定义FrmModule类的全局变量 源代码网推荐 源代码网推荐 FrmModule直接调用CData类的方法,完成所需功能。 源代码网推荐 源代码网推荐 Public Shared gCls As New CData() 源代码网推荐 Public gIsUpdate as Boolean 源代码网推荐 源代码网推荐 定义FrmModule的方法 源代码网推荐 源代码网推荐 在FrmModule的Load事件中连接数据库,并填充网格数据,即: 源代码网推荐 源代码网推荐 Public Shadows Sub FrmModel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 源代码网推荐 gCls.DB.ConnOracle("GDZC", "liyu", "123") 源代码网推荐 gCls.FillGrid(Me.DataGrid1) 源代码网推荐 End Sub 源代码网推荐 源代码网推荐 当单击DataGrid1时,应把DataGrid1的当前行写入输入控件中供用户修改数据,取得当前行的标识,这里用SystemID记录,同时表示可以更新。这个过程在DataGrid1的_CurrentCellChanged事件中完成, 即: 源代码网推荐 源代码网推荐 Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged 源代码网推荐 Dim RowIndex As Int16 源代码网推荐 RowIndex = DataGrid1.CurrentRowIndex 源代码网推荐 gCls.DataGridToText(Me) 源代码网推荐 gCls.SystemID = DataGrid1.Item(RowIndex, 0) 源代码网推荐 gIsUpdate = True 源代码网推荐 End Sub 源代码网推荐 源代码网推荐 编写ToolBar1的ButtonClick事件。由按钮文本识别所单击的对象.当时单击"增加"时表示不能更新,当时单击"保存"时要识别是更新还是插入数据。执行完后要重新填充网格, 即: 源代码网推荐 源代码网推荐 Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick 源代码网推荐 Select Case e.Button.Text 源代码网推荐 Case "增加" 源代码网推荐 gIsUpdate = False 源代码网推荐 Case "保存" 源代码网推荐 WriteDateToArray() 源代码网推荐 If gIsUpdate Then 源代码网推荐 gCls.Update() 源代码网推荐 Exit Select 源代码网推荐 Else 源代码网推荐 gCls.Insert() 源代码网推荐 End If 源代码网推荐 Case "删除" 源代码网推荐 If MsgBox ("真的删除该数据吗?(Y/N)") = 7 Then 源代码网推荐 Return 源代码网推荐 End If 源代码网推荐 gCls.Delete() 源代码网推荐 Case "退出" 源代码网推荐 Me.Close() 源代码网推荐 Exit Sub 源代码网推荐 End Select 源代码网推荐 gCls.FillGrid(DataGrid1) 源代码网推荐 源代码网供稿. |
