计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

VB编程中网格控件的选用及使用(2)

2015-06-19 01:16
导读:题:GrdHardComp.Row=0'GrdHardComp.Col=0GrdHardComp.FixedAlignment(GrdHardComp.Col)=2GrdHardComp.Text=构成番号GrdHardComp.Col=1GrdHardComp.FixedAlignment(GrdHardComp.Col)=2GrdHardComp.Text=构成机
题: GrdHardComp.Row = 0 ' GrdHardComp.Col = 0 GrdHardComp.FixedAlignment(GrdHardComp.Col) = 2 GrdHardComp.Text = "构成番号" GrdHardComp.Col = 1 GrdHardComp.FixedAlignment(GrdHardComp.Col) = 2 GrdHardComp.Text = "构成机器区分"① … … 在数据向Grid中写入或取出时,为了便于大量的数据同时,简便地写入与修改,可以定义一个类型。如下: Type M_Hard Number As String OrderNum As String MachKind As String MachKindName As String … … End Type (其中Number等均为要输入的图示条目)  ;Private Hards() As M_Hard Hards(),此时就作为数据的传输变量,进行Grid与TextBox之间的数据传输。 数据向类内写入: If HardComp.RecordCount > 0 Then HardComp.MoveFirst Do Until HardComp.EOF ReDim Preserve Hards(H%)// H%为记数变量。 Hards(H%).OrderNum = HardComp![ OrderNum]//输入编号 Hards(H%).MachKind = HardComp![ MachKind]//种类 Hards(H%).MachKindName = HardComp![ MachKindName]//分类名 Hards(H%).MachName = HardComp![ MachName]//名称 … … loop HardComp.MoveFirst 类内数据向Grid内写入: GrdHardComp.Row = H% + 1//记录数统计 GrdHardComp.Col = 0 GrdHardComp.Text = " " & Hards(H%).OrderNum GrdHardComp.Col = 1 GrdHardComp.Text = " " & Hards(H%).MachKind GrdHardComp.Col = 2&nb sp;GrdHardComp.Text = " " & Hards(H%).MachKindName GrdHardComp.Col = 3 GrdHardComp.Text = " " & Hards(H%).MachName GrdHardComp.Col = 4 … … GrdHardComp.Text = " " & Hards(H%).HardLastDate GrdHardComp.Rows = GrdHardComp.Rows + 1//行数加1 HardComp.MoveNext H% = H% + 1 当然,如果使数据真正写入数据库,还需进行数据库的读写操作。Grid只是提供了一个预览的功能,便于数据的修改。 由以上Grid的特点及其使用方法可以看出,在需要对数据库进行大量数据的操作时,为了减少对数据库的直接操作,提高数据库的安全性,使用Grid控件,还是有很大方便的。 Grid是VB在早期版本中就带有的控件,使用简便,稳定性好,在早期的VB开发过程中,使用尤其广泛。但现在与其它控件比较起来功能有些不足。 DBGrid控件: DBGrid是专用来操作数据库的网格控件,可以绑定到Data控件,几乎不用写代码就可方便地对数据进行显示,增加、删除或修改记录, DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新记录或删除修改时对数据进行有效性检验,来实现事务处理功能。DBGrid也可以在设计时编辑网格格式,指定显示字段等,由于它提供了Column、Split、SelBookmarks等对象,更增强了显示和操作数据的能力。 下面是笔者所参与开发的东京社会调查研究所的项目--《健康诊断系统》的一个实例。 图中的Data4控件把数据库和DBGrid直接连起来,DBGrid的题目,项目设置可以在属性窗口里直接做到。在使用时,要注意新数据是先更新数据库,然后才回写到DBGrid里。方法如下: Sql = "SELECT * FROM 表名" //SQL语句 Set Data4.Recordset = MyDB2.OpenRecordset(sSql, dbOpenSnapshot) Data4.Refresh 或: DatMonthPlan.RecordSource = "SELECT * FROM 表名WHERE (((关键字)='" & Key & "')); 如果想对DBGrid中的某个条目进行复制,方法如下: Data4.Recordset.AddNew Data4.Recordset![ 关键字] = Key//关键字索引 Data4.Recordset![记号]= D BGrid.Columns(0).CellValue(DBGrid.GetBookmark(0))//第一列 Data4.Recordset[番号]=DBGrid.Columns(1).CellValue(DBGrid.GetBookmark(0))// 第二列 Data4.Recordset![氏名]=DBGrid.Columns(2).CellValue(DBGrid.GetBookmark(0))//第三列 Data4.Recordset.Update Data4.Refresh//数据库更新 DBGrid.Refresh// DBGrid刷新 如果动态的对DBGrid中的某个栏目进行增减,可以用如下方法: i = 1 //总显示列数记数 Data4.MoveFirst Do Until Data4.EOF DBGrid1.Columns(i).Width = 1600 //定义宽度 DBGrid1.Columns(i).Caption = "年龄" //标题 DBGrid1.Columns(i).DataField = "& 实际数据域 &" DBGrid1.Columns(i).Visible = True //可见性 DBGrid1.Columns(i).Alignment = 1 //DBGrid 控件列中的值的对齐方式 Data4.MoveNext i = i + 1 If i > 8 Then Exit Do//列数最大为8 Loop 由于具有良好的可靠性,灵活性和直观性,所以DBGrid控件现在被广泛使用。但不足之处在于DBGrid,和直接操作数据库,对数据库的正确性有一定的威胁。改进方法是,在修改数据库时,加入提示信息。 True DBGrid: DBGrid是Apex软件公司为微软开发的,而Apex的True DBGrid控件也具有较强的数据显示及处理功能,因与DBGrid同出一宗,所以两者有很多相同点。在基本功能上,DBGrid的增,减等操作方法可直接用于True DBGrid,在这里就不再赘述。但在DBGrid的基础上,True DBGrid可以直接嵌入ListBox、Image位图、单选框等控件(如图所示),使软件的界面更加美观,实用。 SSDBGrid控件:  SSDBGrid来自Sheridan软件系统公司 http://www.shersoft.com ),与Sheridan的其它控件一样,以漂亮的三维界面见长,SSDBGrid还可与其它数据库控件如SSDBData、SSDBCombo等有机结合,为用户处理数据提供方便,它有几百个属性、方法等接口,为界面的润色提供了很大的选择余地。另外SSDBGrid还具有虚拟数据管理(virtual data management)技术,在内存中只存贮需显示在界面上的记录,这样在处理大量数据时不致耗费系统资源而影响运行速度。SSDBGrid的缺点只是在有些版本中输入汉字时会出现一些乱码,但显示汉字的效果很不错。 MSFlexGrid控件:
上一篇:Turbo C位图和BMP位图格式分极及应 下一篇:没有了