VS2005提供了强大的功能,很多控件提供,只要合理使用,结合简单的代码编程,就会快速地开发出实用的信息管理系统。
我一直编程的目标都是,用简单的手工代码编写,实现功能强大的功能,又要代码写得小,又要控制灵活,将纯控件编程与手写编程结合是最好的实现方法。
VS2005的工具箱中很多控件无加入,自已可以通过[工具箱\选择项]的方式加入更多的功能,也可以通过[工程\添加引用...],加入一些不常用,又好实用的控件或类,如System.Windows.Forms和microsoft.Reportviewer.WinForms(生成打印报表用的)
以下是一些在VB.NET开发中实用的经验,参考:
1、灵活连接DataGridView:(以连接mdb文件为例)
(1)、拖放一个控件OleDbDataAdapter到设计表单,设置里面的SQL语句,一 般设为“SELECT * FROM 表名”就可以了,它就会动生成一个OleDbDataAdapter1和一个连接OleDbConnection1,再拖放一个DataSet控件,选择“非类型化数据集”,就会生成一个空的DataSet1。
(2)、DataGridView的数据全绑定:
form_load事件中输入简单的几行代码:
OleDbConnection1.Open() '打开连接
OleDbDataAdapter1.Fill(DataSet3, "表名") '填充“表”中数据进数据集
DataGridView1.DataSource = DataSet1 '绑定数据源
DataGridView1.DataMember = "表名" '绑定表名
。。。。。。
OleDbConnection1.Close() '关闭连接
(3)、只显示有用的几列数据:
DataSet1.Clear() '每次填充前要先清空,否则会追加
OleDbConnection1.Open() '打开连接
OleDbDataAdapter1.Fill(DataSet3, "表名") '填充“表”中数据进数据集
DataGridView1.DataSource = DataSet1 '绑定数据源
DataGridView1.DataMember = "表名" '绑定表名
DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True '列中数据太长自动换行
DataGridView1.Columns(0).Visible = False '不显示
DataGridView1.Columns(1).Visible = False '不显示
DataGridView1.Columns(2).HeaderText = "故障现象"
DataGridView1.Columns(2).Width = 300 '设置列宽
DataGridView1.Columns(2).DefaultCellStyle.WrapMode = DataGridViewTriState.True
DataGridView1.Columns(3).HeaderText = "报障日期"
DataGridView1.Columns(3).Width = 100
DataGridView1.Columns(4).Visible = False
DataGridView1.Columns(5).HeaderText = "维修报告"
OleDbConnection1.Close() '关闭连接
(4)、动态查询:
DataSet1.Clear() '每次填充前要先清空,否则会追加
OleDbConnection1.Open() '打开连接
Dim mysql As String
mysql = "select * from company" '自已写查询条件
mysql = mysql + " where comp_name like '%" & Trim(TextBox1.Text)
OleDbDataAdapter1.SelectCommand.CommandText = mysql '替换OleDbDataAdapter1中的查询语句
OleDbDataAdapter1.Fill(DataSet1, "表名") '填充“表”中数据进数据集
DataGridView1.DataSource = DataSet1 '绑定数据源
DataGridView1.DataMember = "表名" '绑定表名
OleDbConnection1.Close() '关闭连接
(5)、多表查询填充DataSet1,并将结果绑定到DataGridView1
DataSet1.Clear() '每次填充前要先清空,否则会追加
OleDbConnection1.Open()
Dim mysql As String
mysql="select main_id,comp_name,comp_address,comp_phone,comp_linkman,equi_name,equi_type,equi_configure"
mysql=mysql+",main_trouble,main_bzdate,main_stdate,main_wcdate,main_report,main_username2"
mysql = mysql + ",main_price,main_memo from"
mysql = mysql + " company as a,equipment as b,maintain as c where b.comp_id=a.comp_id and c.equi_id=b.equi_id and main_id=" & myid
OleDbDataAdapter1.SelectCommand.CommandText = mysql
OleDbDataAdapter1.Fill(DataSet1, "任意名称的表名")
DataGridView1.DataSource = DataSet1 '绑定数据源
DataGridView1.DataMember = "表名" '绑定表名
OleDbConnection1.Close() '关闭连接