VB6.0中DataGrid的应用
VB6.0 如何是用 datatable
这里介绍新的datagrid.datasoure所对应的是VB6.0 datatable或dataset,而并不是原来的Recordset。
所以,在使用中,要把Recordset转换成VB6.0 datatable或dataset。
VB6.0还是比较常用的,于是我研究了一下VB6.0 datatable,在这里拿出来和大家分享一下,希望对大家有用。
在VB6.0在,ADO是大家在数据库编程中用得较多的。
而在新的中,虽然也可以用它来查询数据库,但在与新的datagrid的绑定中,不能像以前那样使用:“datagrid1.datasoure=rs”,而是需要一定的转化。
因为新的datagrid.datasoure所对应的是VB6.0 datatable或dataset,而并不是原来的Recordset。
所以,在使用中,要把Recordset 转换成VB6.0 datatable或dataset。
我们以VB6.0 datatable为例:Function RecordsetToDataTable(ByVal adoRS As ADODB.Recordset,ByVal strTable As String)adoRS.MoveFirst()Dim dt As DataTabledt = New DataTable(strTable)Dim i As IntegerDim strcolname As StringDim t As TypeDim dr As DataRowFor i = 0 To adoRS.Fields.Count - 1strcolname = adoRS.Fields(i).Namet = adoRS.Fields(i).Value.GetType()dt.Columns.Add(strcolname, t)NextWhile (Not adoRS.EOF)dr = dt.NewRow()For i = 0 To adoRS.Fields.Count - 1dr(i) = adoRS.Fields(i).ValueNextdt.Rows.Add(dr)adoRS.MoveNext()End WhileReturn dtEnd Function以上函数是实现将Recordset转换成DataTable。
VB6实现datagrid表格滚动
VB6如何实现datagrid表格滚动Public tmpDataGrid As DataGrid '用与确定要实现滚动的DataGrid控件Public tmpDataGridRowNum As Integer '有多少行数据Public Rec2 As New RecordsetPublic Const GWL_WNDPROC = (-4)Public Const WM_COMMAND = &H111Public Const WM_MBUTTONDOWN = &H207Public Const WM_MBUTTONUP = &H208Public Const WM_MOUSEWHEEL = &H20APublic Oldwinproc As LongPublic Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPublic Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As LongPublic Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As LongPublic Function DataGridScroll(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long'该函数用于实现鼠标滚动Select Case wMsgCase WM_MOUSEWHEELSelect Case wParamCase -7864320 '向下滚If tmpDataGrid.Row < tmpDataGridRowNum - tmpDataGrid.FirstRow ThentmpDataGrid.Row = tmpDataGrid.Row + 1End IfCase 7864320 '向上滚If tmpDataGrid.Bookmark > 1 ThentmpDataGrid.Bookmark = tmpDataGrid.Bookmark - 1End IfEnd SelectEnd SelectDataGridScroll = CallWindowProc(Oldwinproc, hWnd, wMsg, wParam, lParam) End Function。
VB编程中网格控件的选用及使用
VB编程中网格控件的选用及使用在VB编程中,网格控件(Grid Control)是一种非常常见的控件。
它可以在程序界面中方便地展示和编辑表格数据,实现数据的快速查找、排序和过滤等功能。
本文将介绍VB编程中网格控件的选用及使用。
一、网格控件的选用在VB编程中,常见的网格控件包括MSFlexGrid、VSFlexGrid、True DBGrid等。
下面将逐一对它们进行介绍。
1.1 MSFlexGridMSFlexGrid是VB 6.0自带的网格控件,它的优点在于易于使用和轻量级。
MSFlexGrid可以显示文本、数值、日期、图像等类型的数据,并支持排序、过滤等基本操作,可以满足大部分数据展示的需求。
MSFlexGrid的缺点在于功能相对较为简单,不能进行复杂的数据操作和自定义样式的渲染。
1.2 VSFlexGridVSFlexGrid是由ComponentOne公司开发的一个强大的网格控件,它的优点在于功能非常丰富,支持多种数据格式和数据操作,可以进行自定义样式的渲染,可以满足更复杂的数据展示需求。
VSFlexGrid的缺点在于相对较为复杂和庞大,同时需要购买设置许可证。
1.3 True DBGridTrue DBGrid是由ComponentOne公司开发的一个类似于VSFlexGrid的网格控件,它的优点在于功能非常强大,支持多种数据格式和数据操作,支持复杂的分组和联合查询,可以进行自定义样式的渲染,同时支持数据绑定和数据关系的处理,是一个集成性较强的网格控件。
True DBGrid的缺点在于更为复杂和庞大,需要购买设置许可证,同时也不如VSFlexGrid得到广泛的支持和使用。
二、网格控件的使用在VB编程中,网格控件的使用相对简单,主要分为以下几个方面。
2.1 网格控件的引用网格控件需要在程序中进行引用后才能使用,通常的方法是使用“工具箱”中的“组件”进行引用。
以MSFlexGrid为例,在程序中引用MSFlexGrid的代码如下:Private WithEvents FlexGrid1 As MSFlexGrid这样就可以在程序中使用MSFlexGrid了。
vb6 datagridview控件用法
一、VB6简介Visual Basic 6.0(VB6)是微软公司于1998年推出的一款集成开发环境(IDE),是一种基于事件驱动的第三代事件驱动语言。
它允许开发者以快速、简单的方式创建Windows应用程序。
VB6具有可视化编程的特点,允许开发者以拖拽控件的方式构建界面,极大地提高了开发效率。
二、DataGridView控件概述DataGridView控件是VB6中用于显示和编辑数据的控件,它提供了功能强大的数据表格展示能力,可以实现类似Excel表格的功能。
它是VB6中用于数据展示的重要控件之一,具有灵活性高、界面友好等特点。
三、DataGridView控件的基本用法使用DataGridView控件展示数据一般需要以下步骤:1. 在VB6的工具箱中找到DataGridView控件,将其拖拽到窗体中。
2. 设置数据源:可以通过ADODB连接数据库,或者手动添加数据到DataGridView中。
3. 配置列:可以设置每一列的名称、宽度、颜色等属性。
4. 对DataGridView进行一些基本的样式调整,比如添加边框、更换背景颜色等。
四、DataGridView控件的高级用法除了基本的展示功能外,DataGridView控件还支持一些高级用法,比如:1. 数据编辑:可以在DataGridView中实现对数据的增删改操作,通过单元格的编辑功能实现数据的实时更新。
2. 数据筛选:可以根据条件对数据进行筛选,实现灵活的数据展示。
3. 数据导出:可以将DataGridView中的数据导出为Excel表格或者其他格式的文件。
4. 事件处理:可以通过DataGridView的事件来监听用户的操作,比如单元格的点击、双击等操作。
五、DataGridView控件的注意事项在使用DataGridView控件时需要注意一些问题,比如:1. 对数据源的操作需要小心,避免出现数据同步问题。
2. 对于大量数据的展示,需要注意性能优化,避免出现卡顿现象。
VB6使用技巧
巧用VB6的DataGrid实现通用电子表格 (2)VB控件数组的操作技巧 (4)Visual Basic中文本框处理技巧集萃 (7)巧用VB6的DataGrid实现通用电子表格在Microsoft Developer Network Library Visual Studio 6.0(MSDN)或者VB5.0的《联机手册》中都提供了一个《在(Hierarchical)FlexGrid 电子表格中编辑单元》的解决方案,实现了在(Hierarchical)FlexGrid电子表格中编辑单元,另外也有一些关于实现类电子表格的文章与该方案大同小异,都是用TextBox与Grid 一类的控件配合来实现的,因为Grid 之类的控件本身是不可以编辑单元的,然而众所周知DataGrid本身就是可以编辑单元,它的一般用法是在程序设计或运行时设置一个数据源(DataSource),这个数据源可以是Recordset或者是数据控件(如:ADODC等),在通常情况下该数据源是一个数据库(DataBase)的基本表(Table)、视图(View)或者查询(Query)等。
其实,DataGrid 的数据源的本质就是一个二维表,该数据源可以是一个无数据库实体的二维表(记录集 Recordset),这样就可以用DataGrid实现通用电子表格编辑单元。
思路很简单,就是在程序运行时,创建一任意Recordset作为DataGrid的DataSource。
当然,该记录集仅仅就是一个二维表,并无数据库实体。
一些实现的技术细节代码如下:创建任意无数据库实体的记录集,并将其设为DataGrid的数据源。
Dim adoRecordset As ADODB.RecordsetSet adoRecordset = New ADODB.RecordsetDim i As IntegerFor i = 0 To 2 '为Recordset三个字段,即为 DataGrid 添加三列adoRecordset.Fields.Append "第" & i & "列", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatableNext iadoRecordset.OpenFor i = 0 To 3adoRecordset.AddNew '加四条记录,即为 DataGrid 添加四空行Next iSet DataGrid1.DataSource = adoRecordset '绑定 DataGrid 的数据源adoRecordset.MoveFirst'编到这里就已经实现了编辑单元格。
VB6.0DataList控件的使用实例(如何正确显示和选择相同字段的数据)
VB6.0 DataList控件的使用实例(如何正确显示和选择相同字段的数据)试验后的正确方式,利用DataList空间的ListField和BoundColumn属性能实现在DataList控件中没有显示的字段(注:此字段必须带有唯一性,可以使自动编号或设置的编号都行),ListField 属性用来设置需要显示的字段(可以带有重复性或相同)BoundColumn 不需要显示,用来设置唯一性的字段这样,就可以实现吧相同字段的数据正确的区分并提交给TextBox控件显示(其它类型控件可能也能用词方式,具体没有去试验)实例:1、Private Sub Form_Load()‘定义数据源Dim cnn As ADODB.Connection '定义连接Dim rst As ADODB.Recordset '定义返回结果:记录集Set cnn = New ADODB.Connectioncnn.ConnectionString = "PROVIDER=MSDASQL;Driver={SQL Server};Server=改你的服务器名称;uid=;pwd=;Database=改成你的数据库名称"cnn.OpenSet rst = New ADODB.Recordsetrst.Open 写上相应的sql语句, cnn, adOpenKeyset, adLockOptimisticIf Rst.EOF = True ThenExit SubEnd if'设置DataList控件的显示属性Set DataList.RowSource = rstWith DataList.ListField = "Corporations" '.BoundColumn = "Tasklist" ' 唯一性字段,此处为任务单编号,如下图End WithSet rst = NothingSet cnn = NothingEnd Sub2、Private Sub DataList_Click()'设置点中DataList控件上数据成功后,文本控件内数据的关联显示‘定义数据源Dim cnn As ADODB.Connection '定义连接Dim rst As ADODB.Recordset '定义返回结果:记录集Set cnn = New ADODB.Connectioncnn.ConnectionString = "PROVIDER=MSDASQL;Driver={SQL Server};Server=改你的服务器名称;uid=;pwd=;Database=改成你的数据库名称"cnn.OpenSet Rst = New ADODB.RecordsetSQL = "Select * from Miss_missions where tasklist='" + DataList.BoundText + "'" Rst.Open SQL, db, adOpenDynamic, adLockOptimisticSet Rst = db.Execute(SQL)If Not Rst.EOF ThenFor i = 1 To Rst.RecordCountText1.Text = Rst.Fields("Mission_ID").Value & ""Text2.Text = Rst.Fields("NextDates").Value & ""Text3.Text = Rst.Fields("Weeker").Value & ""Text4.Text = Rst.Fields("Corporations").Value & ""'Text4.Text = DataList.SelectedItemText5.Text = Rst.Fields("UnitType").Value & ""Text6.Text = Rst.Fields("Unit").Value & ""Text7.Text = Rst.Fields("TaskList").Value & ""Text8.Text = Rst.Fields("Accomplish").Value & ""Text9.Text = Rst.Fields("CheckClassifg").Value & ""Text10.Text = Format(Rst.Fields("Amount").Value & "", "##0.00")Text11.Text = Rst.Fields("Checker").Value & ""Text12.Text = Rst.Fields("LinkMen").Value & ""Text13.Text = Rst.Fields("Phone").Value & ""Text14.Text = Rst.Fields("County").Value & ""Text15.Text = Rst.Fields("Area").Value & ""Text16.Text = Rst.Fields("PostalCode").Value & ""Text17.Text = Rst.Fields("SetupCor").Value & ""Text18.Text = Rst.Fields("Address").Value & ""'新增项目01--------------------------------------------------------------------Text01.Text = Rst.Fields("DBText01").Value & ""Text02.Text = Rst.Fields("DBText02").Value & ""Text03.Text = Rst.Fields("DBText03").Value & ""Text04.Text = Rst.Fields("DBText04").Value & ""Text05.Text = Rst.Fields("DBText05").Value & ""'End---------------------------------------------------------------------------Rst.MoveNextNext iRst.MoveFirstEnd IfEnd Sub实例图:。
巧用VB6的DataGrid实现通用电子表格
巧用VB6的DataGrid实现通用电子表格巧用VB6的DataGrid实现通用电子表格 (2)VB控件数组的操作技巧 (5)巧用VB6的DataGrid实现通用电子表格在Microsoft Developer Network Library Visual Studio 6.0(MSDN)或者VB5.0的《联机手册》中都提供了一个《在(Hierarchical)FlexGrid 电子表格中编辑单元》的解决方案,实现了在(Hierarchical)FlexGrid电子表格中编辑单元,另外也有一些关于实现类电子表格的文章与该方案大同小异,都是用TextBox与Grid 一类的控件配合来实现的,因为Grid 之类的控件本身是不可以编辑单元的,然而众所周知DataGrid本身就是可以编辑单元,它的一般用法是在程序设计或运行时设置一个数据源(DataSource),这个数据源可以是Recordset或者是数据控件(如:ADODC等),在通常情况下该数据源是一个数据库(DataBase)的基本表(Table)、视图(View)或者查询(Query)等。
其实,DataGrid 的数据源的本质就是一个二维表,该数据源可以是一个无数据库实体的二维表(记录集Recordset),这样就可以用DataGrid实现通用电子表格编辑单元。
思路很简单,就是在程序运行时,创建一任意Recordset作为DataGrid的DataSource。
当然,该记录集仅仅就是一个二维表,并无数据库实体。
一些实现的技术细节代码如下:创建任意无数据库实体的记录集,并将其设为DataGrid的数据源。
Dim adoRecordset As ADODB.RecordsetSet adoRecordset = New ADODB.RecordsetDim i As IntegerFor i = 0 To 2 '为Recordset三个字段,即为 DataGrid 添加三列adoRecordset.Fields.Append "第" & i & "列", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatableNext iadoRecordset.OpenFor i = 0 To 3adoRecordset.AddNew '加四条记录,即为 DataGrid 添加四空行Next iSet DataGrid1.DataSource = adoRecordset '绑定 DataGrid 的数据源adoRecordset.MoveFirst'编到这里就已经实现了编辑单元格。
vb的datagrid控件的使用(四)
vb的datagrid控件的使用(四)时间:2007-05-05使用Bookmarks 和SelBookmarks 跟踪记录Bookmarks 和SelBookmarks 提供了标记记录的一种手段。
当编写应用程序中的特定功能(诸如允许最终用户手工地选择多个不相邻的记录,进行所选记录的大批更新)时,这就很有必要。
在这些情形中,需要标记哪些记录已被选择,因此可以使用SelBookmarks 集合及其属性。
有两个函数,分别是CellText 和CellValue 方法,需要标记才能正确执行。
标记用户的选择SelBookmarks 集合包含所有选定的记录的书签。
当最终用户手工选择记录时(即在单击时按住CTRL 键),每一个选定的记录的书签都会加入到该集合中。
使用标准的循环,用户可以知道已经选定了什么,也可以保存书签(因为可能需要恢复某个值),以及执行操作:Dim i as Integer ' 计数器Dim intCount As IntegerintCount = DataGrid1.SelBookmarks.Count - 1ReDim arrSelBK(intCount) ' 声明用于保存书签的数组。
For i = 0 To intCountArrSelBK(i) = DataGrid1.SelBookmarks(i)' 在此处执行操作。
如果该操作必须被' 取消,则退出该循环,然后使用该数' 组来取消这些更改。
Next i通过在程序中添加到SelBookmarks 集合来选择记录通过将记录添加到这个集合,也可以在程序中选定记录。
例如,可能有一个显示指定的客户所有订货的网格。
如果要高亮显示该客户花费超过$100的所有记录,则对记录进行过滤,并将结果书签添加到SelBookmarks 集合。
Dim rs As RecordsetSet rs = Adodc1.RecordsetWhile Not rs.EOFIf rs!SupplierID = 12 ThenDataGrid1.SelBookmarks.Add rs.BookmarkEnd Ifrs.MoveNextWend显示计算结果字段假设在表中有一个名为"Price" 的字段,并且想使用本地税率来计算表中每一项的税费。
DataGrid控件在VC6.0中的使用
本文为DataGrid控件在VC6.0中使用的基本范例,主要功能为插入一行数据并在控件中显示,及删除一行数据并在控件中显示。
1 在VC6.0中建立MFCApp(exe)工程;2 导入DataGrid控件:路径:Project-->Add To Project-->Conponents and Controls选择集合:选择组件,选好后别忘记“Insert”:演示目前的功能仅需要选择图片中的三个类就可以了:这时组件就被导入到工具箱中了,在Form中画好后再为其添加一个控件变量m_ctrlDataGrid1;3 实现数据绑定:对于数据库的操作,我在这里使用了ADO来执行;要使用ADO的话不要忘记在你的stdafx.h中将其导入:#import "c:/program files/common files/system/ado/msado15.dll"我使用的是SQLSERVER2005 EXPRESS,也就是附带在VS2005中的开发版本,数据库连接字符串的设置如下:CString strSqlLink = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=SalManSystem;Data Source=.//SQLEXPRESS";注意:Data Source的设置对比2005之前版本的设置略有不同;对话框初始化时的数据绑定代码:BOOL CTestDATAGRIDDlg::OnInitDialog(){//................以上省略若干行// TODO: Add extra initialization hereCString strConnection;strConnection.Format(_T(sqllink));m_ADODb.Open((LPCTSTR)strConnection); //打开程序数据库m_Rs.SetDatabase(&m_DBCn);m_Rs.Open(_T("select * from em_baseinfo;"));m_ctrlDataGrid1.SetCaption(_T("Add Employeer")); //设置标题m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset( )); //绑定数据源return TRUE; // return TRUE unless you set the focus to a control}4 插入操作:这个非常简单,代码如下:BOOL CTestDATAGRIDDlg::InsertEMInfo(){CString strSQL;strSQL.Format( _T("INSERT INTO em_baseinfo(em_name, em_id, em_s ex, em_edu)VALUES('%s', '%s', '%s', '%s');"), m_strName, m_strID, m_strSex, m_strEDU );m_Rs.Open((LPCTSTR)strSQL);m_Rs.Open(_T("select * from em_baseinfo;"));m_ctrlDataGrid1.SetRefDataSource((LPUNKNOWN)m_Rs.GetRecordset( ));}5 删除操作:这个需要稍微花点心思。
datagrid控件的用法
datagrid控件的用法datagrid控件是一种常用的图形用户界面(GUI)控件,它用于显示和编辑表格数据。
它可以在各种应用程序中使用,包括桌面程序、网页应用和移动应用。
本文将介绍datagrid控件的用法,包括绑定数据、编辑数据、排序和过滤等功能。
一、绑定数据1. 使用数据源:datagrid控件可以通过绑定数据源的方式来显示数据。
你可以使用各种数据源,包括数据库、XML文件、JSON数据等。
在绑定数据之前,你需要先定义datagrid的列,指定列的标题和数据绑定的字段。
2. 设置数据展示:一旦数据绑定完成,datagrid控件将自动根据数据源中的数据生成表格。
你可以设置表格的样式、颜色和字体等属性来适应你的应用程序的需求。
你还可以设置列的宽度、对齐方式和可见性等属性。
二、编辑数据1. 单元格编辑:datagrid控件允许用户在表格中直接编辑单元格的数据。
用户可以双击单元格进入编辑模式,然后修改数据并保存。
你可以通过事件处理函数来捕获用户的编辑操作,并对数据进行处理。
2. 行编辑:除了单元格编辑,datagrid控件还支持行编辑。
用户可以选择一行数据并进行编辑。
你可以设置行编辑的模式,比如是否只能编辑选中行、是否允许添加新行等。
三、排序和过滤1. 排序:datagrid控件提供了内置的排序功能,使用户可以轻松地对表格数据进行排序。
用户可以点击列标题来改变排序方式,比如升序或降序。
你可以设置排序规则,比如按照字母顺序或数字大小进行排序。
2. 过滤:datagrid控件还支持数据过滤功能,用户可以输入关键字来筛选数据。
你可以设置过滤条件,比如只显示满足某个条件的数据。
过滤功能可以帮助用户快速地找到需要的数据。
四、分页功能1. 分页显示:当数据量很大时,datagrid控件可以自动分页显示数据。
你可以设置每页显示的记录数,比如每页显示10条数据。
用户可以通过点击上一页和下一页按钮来切换页面,或者直接输入页码。
VB中DataGrid控件的使用一得
VB中DataGrid控件的使用一得VB中DataGrid 控件的使用一得建湖县艺术高级中学夏成仁如今,使用VB对小型数据库ACCESS编程已很普遍,在VB窗体中要表格式显示库中的记录,首选的就是使用DataGrid 控件,DataGrid 控件可以很好地与ACCESS数据库结合,比较完美地输出记录,也可以与其它数据库结合(如EXCEL、FOXPRO)调用EXCEL可实现表格的打印。
DataGrid 控件的使用对初上手的编程人员来说有一定的难度。
下文是本人在使用这个控件过程中的一点心得。
一、DataGrid 控件使用前的准备DataGrid 控件不是VB常用控件,正常新建的VB工程的工具箱中并不具有该控件,要使用该控件可进行如下操作,选择“工程”菜单中的“部件”菜单项,在出现的对话框中选中Microsoft Dategrid Control6.0。
按“确定”按钮。
在工具箱中便可添加了DataGrid 控件。
另外还需要在工程中引用Microsoft ActiveX Date Objects2.0 Library,(菜单“工程”\ 引用)。
经过以上两步骤后,编程人员可以将该控件放置在窗体中适当的位置。
程序启动后,控件图示并不在窗口中出现。
二、表的记录集(RS)形成在窗口中使用DataGrid 控件,就是要用这个控件显示一个数据库中某个表的记录。
一个数据库的某个表(EXCEL工作薄的某个工作表)是保存在磁盘上数据,首先是将需要的记录装入内存,装入内存的一个表的所有记录记录(或表的部分记录)就形成一个记录集。
这个记录集与表中的记录是对应的、互动的。
记录指针是一致的。
如删除了这个记录集中的一个记录,也就删除了磁盘中的一部数据。
装入内存的目的主要是提高了操作的速度,内存中也许有多个记录集,一个记录集必用一个记录集变量表示(如:RS),这样便于使用这个记录集。
DataGrid 控件表面上显示数据库中某个表中的记录,在编程中,DataGrid 控件实际是显示一个记录集的内容,因此使用DataGrid 控件的重点是记录集的形成,一旦形成了记录集(RS)后,使用语句Set DataGrid1.DataSource = RS,便可使DataGrid 控件显示出RS 记录集中的记录了。
vb的datagrid控件的使用(三)
vb的datagrid控件的使用(三)时间:2007-05-05使用列通过更改DataSource 属性,可以动态地更改在DataGrid 控件中显示的数据。
例如,可以显示同一个数据库的不同表。
如果这样做,则DataGrid 控件将只根据默认的属性显示数据。
添加、删除或隐藏列通过使用Colum ns 集合和Colum n 对象的属性和方法,可以在程序中添加、删除或隐藏列。
添加和删除一列要在运行时添加一列,可以使用Add 方法。
如果首先声明一个变量,并将新对象赋给该变量,就可以用简明的代码设置各种属性。
Private Sub AddColum n()' 在最右边的位置添加一列。
然后设置其 Visible、Width、' Caption以及Alignm ent 属性。
DataField 属性则指定' 该列将绑定到哪一个字段。
Dim c As Colum nSet c = DataGrid1.Colum ns.Add(DataGrid1.Colum ns.Count)With c.Visible = True.Width = 1000.Caption = "我的新列".DataField = Adodc1.Recordset.Fields("ProductNam e").Nam e.Alignm ent = dbgRightEnd Wi thEnd Sub可以使用方法来删除任意一列。
请确保使用ColIndex 参数来指定要删除的列。
下面的代码将删除被单击的列。
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)DataGrid1.Colum ns.Rem ove ColIndexEnd Sub隐藏一列通过将Visible 属性设置为 False,可以隐藏任意一列。
当想要限制用户可以查看或编辑的列时这一功能特别有用。
在VB6.0中用DATAGRID控件实现数据库查询
在VB6.0中用DATAGRID控件实现数据库查询
王敏;胡书屏
【期刊名称】《现代计算机:下半月版》
【年(卷),期】2000(000)097
【摘要】本文详细介绍了利用DataGrid控件和ComboBox控件联合起来实现数据库查询的一种方法。
【总页数】2页(P72-73)
【作者】王敏;胡书屏
【作者单位】武汉水利电力大学计算机系;武汉水利电力大学计算机系
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.DataGridView控件中数据导出至Excel方案的优化与实现 [J], 吴双
2.基于DataGridView控件实现数据筛选功能的设计与实现 [J], 李庆聪;王群;唐艺支
3.C#实现DataGridView控件分页功能 [J], 刘佳
4.C#中用DataGrid控件超链接属性在两个网页间传递多参数的实现方法 [J], 田亚灵
5.C#中用DataGrid控件超链接属性在两个网页间传递多参数的实现方法 [J], 田亚灵
因版权原因,仅展示原文概要,查看原文内容请购买。
datagrid1创建标题vb6.0代码
VB6.0代码编写是一项重要的技能,特别是在数据处理和管理方面。
本文将介绍如何通过VB6.0代码来创建一个数据网格(Datagrid)控件,以便在应用程序中展示和管理数据。
1. 概述在VB6.0中,数据网格控件是一个非常有用的工具,它可以让用户以表格的形式来展示和管理数据。
通过VB6.0代码,我们可以自定义数据网格控件的外观和行为,从而实现更灵活和高效的数据展示和管理。
2. 创建数据网格控件我们需要在VB6.0的窗体上添加数据网格控件。
可以通过在工具箱中选择“Microsoft DataGrid Control”来添加数据网格控件到窗体上。
3. 绑定数据接下来,我们需要将数据绑定到数据网格控件上。
通过VB6.0代码,我们可以使用Recordset对象来获取数据,并将数据绑定到数据网格控件上。
下面是一个简单的示例代码:```Dim conn As New ADODB.ConnectionDim rs As New ADODB.Recordsetconn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\mydatabase.mdb"conn.Openrs.Open "SELECT * FROM mytable", connSet DataGrid1.DataSource = rs```在这个示例中,我们使用ADODB.Connection对象来建立数据库连接,然后使用ADODB.Recordset对象来获取数据,并将数据绑定到名为“DataGrid1”的数据网格控件上。
4. 设置数据网格样式通过VB6.0代码,我们可以很方便地设置数据网格控件的样式和外观。
我们可以设置数据网格的列宽、行高、背景颜色、字体样式等。
下面是一个简单的示例代码:```DataGrid1.RowHeight = 300DataGrid1.Columns(1).Width = 1000DataGrid1.BackColor = vbCyanDataGrid1.Font.Bold = True```在这个示例中,我们设置了数据网格的行高为300,第二列的宽度为1000,背景颜色为青色,以及字体为粗体。
vb6.0控件DataGrid属性
vb6.0控件DataGrid属性属性说明AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
AllowSorting 获取或设置指示是否启用排序的值。
AlternatingItemStyle 获取 DataGrid 控件中交替项的样式属性。
Attributes 获取与控件的属性不对应的任意特性(只用于呈现)的集合。
AutoGenerateColumns 获取或设置一个值,该值指示是否为数据源中的每一字段自动创建 BoundColumn 对象并在 DataGrid 控件中显示这些对象。
BackColor 获取或设置 Web 服务器控件的背景色。
BackImageUrl 获取或设置要在 DataGrid 控件的背景中显示的图像的 URL。
BorderColor 获取或设置 Web 控件的边框颜色。
BorderStyle 获取或设置 Web 服务器控件的边框样式。
BorderWidth 获取或设置 Web 服务器控件的边框宽度。
CellPadding 获取或设置单元格的内容和单元格的边框之间的空间量。
CellSpacing 获取或设置单元格间的空间量。
Columns 获取表示 DataGrid 控件的各列的对象的集合。
Controls 包含数据列表控件中的子控件的集合。
CurrentPageIndex 获取或设置当前显示页的索引。
DataKeyField 获取或设置由 DataSource 属性指定的数据源中的键字段。
DataKeys 存储数据列表控件中每个记录的键值(显示为一行)。
DataMember 获取或设置多成员数据源中要绑定到数据列表控件的特定数据成员。
DataSource 获取或设置源,该源包含用于填充控件中的项的值列表。
EditItemIndex 获取或设置 DataGrid 控件中要编辑的项的索引。
EditItemStyle 当RepeatLayout 属性设置为RepeatLayout.Table 时,获取或设置 DataList 控件的网格线样式。
VB6.0类模块实现DataGrid表格导出到Excel(原创)
VB6.0类模块实现DataGrid表格导出到Excel(原创)将VB中的DataGrid导出到Excel功能网上有很多实例,大家都可以下载后修改修改使用,但是一个程序中多次使用该代码的话,每次都需要修改里面的相关参数,较为麻烦。
作者奉行的理念是“拿来就用”,通过类模块的封装,可以很好的提高代码的重用性,只需要2行代码就可以搞定哦。
本源码复制粘贴后即可使用。
爽吧!如果你用的是其他表格控件,如MSHFlexGrid,则直接将参数中的DataGrid参数换成你的控件类型即可。
如有问题经联系作者****************一、准备工作要想使用本类模块,必须像使用其他导出Excel代码段一样,先引用Microsoft Excel Object Library 。
这是一定要注意的,否则调用该类模块将出错。
二、类模块源码类模块名称:ToExcelOption Explicit'**********************************************************'**函数名:GridToExcel'**输入:needGrid,needAdodc'** :'** :'**输出:'**功能描述:自动将DataGrid表格中的内容导出到Excel'**全局变量:见变量声明'**调用模块:'**作者:吴长平'**日期:2013-1-24 08:45:48'**修改人:吴长平'**日期:'**版本:V1.0.0'**支持:需要引用Excel Object Library'*********************************************************Public Sub GridToExcel(ByVal needGrid As DataGrid, ByVal needAdodc As ADODB.Recordset)'记录集为空时自动报错,并退出过程If needAdodc Is Nothing ThenMsgBox ("参数中的记录集为空!")Exit SubEnd If'定义整数i,jDim i As Integer, j As Integer'定义Excel应用程序对象Dim xlapp As Excel.Application'定义Excel工作薄对象Dim xlbook As Excel.Workbook'定义Excel工作表对象Dim xlsheet As Excel.Worksheet'创建Excel应用程序对象Set xlapp = CreateObject("excel.application") 'Excel应用程序对象可见xlapp.Visible = True'新建工作薄,赋值给xlbookSet xlbook = xlapp.Workbooks.Add'工作薄xlbook的第一个工作表赋值给xlsheet Set xlsheet = xlbook.Worksheets(1)'添加表头For i = 0 To needGrid.Columns.Count - 1xlsheet.Cells(1, i + 1) = needGrid.Columns(i).Caption Next i'循环向Excel表格的单元格中添加内容i = 0'一直输出到记录集的末尾Do While (needAdodc.EOF = False)For j = 0 To Int(needGrid.Columns.Count - 1)needGrid.Col = jxlsheet.Cells(i + 2, j + 1) = needGrid.TextNext j'记录集指针向下移动一条needAdodc.MoveNexti = i + 1Loop'释放Excel工作薄对象Set xlapp = Nothing'释放义Excel工作表对象Set xlbook = NothingEnd Sub三、类模块的使用。
VB6.0中DataGrid的应用
使用DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset 对象的记录和字段。
可以使用DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意DataGrid 控件与Visual Basic 5.0中的DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持DBGrid 的“解除绑定模式”概念。
DBGrid 控件包括在Visual Basic 的Tools 目录中。
可能的用法查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用DataGrid 控件的设计时特性可以不编写任何代码,只通过使用DataGrid 控件的设计时特性来创建一个数据库应用程序。
下面的说明概要地说明了在实现DataGrid 控件的典型应用时的一般步骤。
完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用DataGrid 控件创建一个简单数据库应用程序”。
要在设计时实现一个DataGrid 控件1. 为要访问的数据库创建一个Microsoft 数据链接(.MDL) 文件。
请参阅“创建Northwind OLE DB 数据链接”主题,以获得一个示例。
2. 在窗体上放置一个ADO Data 控件,并将其ConnectionString 属性设置为在第1 步中所创建的OLE DB 数据源。
VSFlexGrid的用法--VB6
VSFlexGrid的用法--VB61,如果想把某一列设置成下拉匡中选择,只能写成grid.colcombolist(1) = "a|b|c" 吗?能不能把下拉框中的数据和recordset 或数组绑定。
答案:grid.colcombolist(1)=grid.buildcombolist(rs!abc)2,怎样限定第三列可编辑,其他列不可编辑?答案:Private Sub fg_BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boole an)'*******先将设editable=2'限定不可编辑列,如有5列If Col = 0 Then Cancel = TrueIf Col = 1 Then Cancel = TrueIf Col = 2 Then Cancel = TrueIf Col = 4 Then Cancel = TrueIf Col = 5 Then Cancel = TrueEnd Sub3、怎么获得当前单元个的位置,比如某单元个获得焦点,弹出msgbox("你选的是第4行第5列")Answer:Private Sub VSFlexGrid1_Click()Dim a, b As Longa = VSFlexGrid1.Rowb = VSFlexGrid1.ColMsgBox "你选的是" & a & "行" & b & "列"End Sub4,对vsflexgrid进行编辑的时候,让vsflexgrid的某列只能输入数字?Answer:Private Sub CheckData(KeyAscii As Integer)If KeyAscii >= 48 And KeyAscii <= 57 Then Exit Sub '如果是数字退出If KeyAscii <> 8 Then KeyAscii = 0End SubPrivate Sub vsflexgrid_KeyPressEdit(ByVal Row As Long, ByVal Col As Long, KeyA scii As Integer)If col=1 Then '第一列只能输入数字CheckData KeyAsciiEnd IfEnd Sub5,限制某列只能输入数字Answer:Private Sub fg_KeyPressEdit(ByVal Row As Long, ByVal Col As Long, KeyAscii As I nteger)Dim Numbers As String '允许输入的字符If fg.Col = 6 Then '第6列Numbers = "1234567890" + Chr(46) + Chr(8)If InStr(Numbers, Chr(KeyAscii)) = 0 ThenKeyAscii = 0End IfEnd IfEnd Sub6,如何指定一列的输入格式VSFlexGrid 控件属性方法一览表VSFlexGrid 控件属性方法一览表(带()为方法)属性/方法名称功能示例语法AddItem() 增加一行 O.A String[, RowIndex]Aggregate 返回集合合计(总数,平均,等等) O.A = (A,Row1,Col1,Row2,Col2) Align 对象在窗体上的显示位置O.A =0|1|2|3|4 AllowBigSelection 设定列头是否整行或整列选择O.A = True|False AllowSelection 是否可多单元选择O.A = True|False AllowUserFreezing 运行时用鼠标冻结行或列O.A = 0|1|2|3 AllowUserResizing 调整(行/列)大小方式 O.A = 0|1|2|3|4 Appearance 边框平面/凹陷/凸起 O.A = 0|1|2Archive() 存储或清除一个二进制文件内容O.A ArcFileName,FileName,0|1|2|3ArchiveInfo 返回一个二进制文件信息O.A ArcFileName,0|1|2|3|4,LineIndexAutoReSize 是否自动调整大小 O.A = True|FalseAutoSearch 设置自动搜索 O.A = 0|1|2AutoSearchDelay 设置AutoSearch多少秒刷新 O.A = 2AutoSize() 自动调整列到指定宽度O.A Col1,Col2,True|False,1000 AutoSizeMode 自动调整适合行列内容O.A = 0|1AutoSizeMouse 是否双击列首自动调整适合行列O.A = True|FalseBackColor 所有非固定行列的背景色 O.A = ColorBackColorAlternate 所有非固定行列的交替行颜色 O.A = Color BackColorBkg 表格背景坐底色 O.A = ColorBackColorFixed 固定的行/列背景色 O.A = ColorBackColorFrozen 冻结部分的行列背景色 O.A = ColorBackColorSel 单元被选中的背景色 O.A = ColorBindT oArray() 绑定数组O.A ArrayStr,RowDim,ColDim,PageDim,CurrentPageBookmark 返回ADO Recordset行书签(只读) O.A(Row)BorderStyle 边框粗细样式 O.A = 0|1BottomRow 返回可见范围的最大行号(只读) O.ABuildComboList() 将数据库中的内容写入下拉框O.A(rs, FieldList, KeyField, BackColor)CausesValidation 目标事件确认 O.A = False|TrueCell 选择部分的相应准则值 O.A(准则, Row1, Col1, Row2, Col2) = 准则值CellAlignment 设定单元里数据的排列方式 O.A = 0 至 9CellBackColor 指定单元范围的背景颜色 O.A = ColorCellBorder() 选择单元范围的边界颜色 O.A Color,左,上,右,下,垂直,水平CellButtonPicture 选择单元范围的按钮图片O.A = LoadPicture("D:\Icon.ico") CellChecked 选择单元范围的复选框 O.A = 0|1|2CellFloodColor 选择单元范围的流程颜色 O.A = ColorCellFloodPercent 选择单元范围的流程百分比 O.A = 1 至 100CellFontBold 指定单元范围设为黑体字 O.A = False|TrueCellFontItalic 指定单元范围设为斜体字 O.A = False|TrueCellFontName 对象所使用的字体名称 O.A = FontNameCellFontSize 对象文字像数大小(默认9pt) O.A = 9CellFontStrikethru 选择范围是否有删除线O.A = False|True CellFontUnderline 选择范围是否有下画线 O.A = False|True CellFontWidth 设定单元或指定范围字体的宽度 O.A = 2CellForeColor 设定单元或指定范围字体的颜色 O.A = ColorCellHeight 返回/显示到当前单元高度(只读) O.ACellLeft 返回当前单元的左端位置(只读) O.ACellPicture 显示在单元或指定范围中的图片O.A = LoadPicture("D:\Icon.ico") CellPictureAlingment 单元或指定范围图片的显示位置 O.A = 0 至 10CellTextStyle 设定单元文本的显示形式 O.A = 0|1|2|3|4CellT op 返回当前单元的顶端位置(只读) O.ACellWidth 返回当前单元的宽度(只读) O.AClear() 清除表格内容 O.A([0|1|2],[0|1|2|3])ClientHeight 返回客户可见范围高度 O.AClientWidth 返回客户可见范围宽度 O.AClip 设置选择范围的内容 O.A = TextClipSeparatorsCol 设置激活单元的列号 O.A = 2ColAlignment 列对齐排列方式 O.A(Col) = 0 至 9ColComboList 向下拉框写入管道字符O.A(Col) = "|ListStr1|ListStr2|..." ColData 设置用户定义的长整形数据O.A(Col) = UserLong ColDataType 列数据类型 O.A(Col)=0至14到20(&H14),30(&H1E),31(&H1F)ColEditMask 列编辑套用格式字符串 O.A(Col) = 指定的格式如:###### ColFormat 格式化显示列O.A(Col) = "Currency"|"#.###%"... ColHidden 是否隐藏指定列O.A(Col) = True|FalseColImageList 设置图像列表句柄到列ColIndent 缩进指定列 O.A Col= 100ColIndex 返回列索引(只读) O.A ColColIsVisible 返回列是否可见(只读) O.A ColColKey 设置列钥匙 O.A(Col) = KeyStrColPos 返回列距左边宽度(只读) O.A ColColPosition 移动列的位置 O.A(Col) = ReColCols 返回/设置总列数 O.A = 2ColSel 返回/设置最后选择的列 O.A = 3ColSort 设置列种类 O.A(Col) = 0 至 10ColWidth 返回/设置指定列宽 O.A(Col) = 100ColWidthMax 最大列宽 O.A(Col) = 5000ColWidthMin 最小列宽 O.A(Col) = 100ComboCount 取得Combo下拉按钮总数(只读) O.AComboData Combo下拉按钮数据(只读) O.AComboIndex Combo下拉按钮索引 O.A = 1ComboItem Combo下拉按钮项目(只读) O.AComboList 向下拉框写入管道字符内容 O.A = "a|b|c"ComboSearch Combo下拉按钮搜寻方式 O.A = 0|1|2|3Container 返回/设置对象的容器O.A.Caption = "Forms" DataBindings 返回数据装入数(只读) O.ADataMember 返回/设置数据描述成员 O.A = DataStrDataMode 设置数据链接状态 O.A = 0|1|2|3|4DataRefresh() 刷新数据源 O.ADataSource 设置数据源 Set O.A = DataDimDrag() 拖放 O.A [0|1|2]DragIcon 拖放图标O.A = LoadPicture("D:\Icon.ico") DragMode 拖放方式 O.A = 0|1DragRow() 拖放行(本示例在MouseDown过程) O.A O.RowSel Editable 设置表格是否可编辑修改 O.A = 0|1|2EditCell() 当移动到当前单元时自动选择 O.AEditMask 当编辑时只能使用指定值 O.A = StrValueEditMaxLength 所有单元限制字节大小 O.A = 2EditSelLength 编辑时选择长度 O.A = 5EditSelStart 移动到单元时的光标位置O.A = 0(或者Len(vsg.text)) EditSelText 编辑选择处放文本 O.A = "Str"EditText 编辑文本 O.A = "Str"EditWindow 返回编辑窗口(只读) O.AEllipsis 超宽字符加省略号 O.A = 0|1|2Enabled 对象是否激活可用 O.A = False|TrueExplorerBar 单击列头的选择、拖动或排序样式 O.A = 0 至 15ExtendLastCol 是否扩充最后的列到适合宽度 O.A = False|True FillStyle 是否改变当前范围的内容或格式 O.A = 0|1FindRow 查找符和条件返回的行(只读) O.A FindStr,[Row],[Col],[敏感],[精度])FinishEditing() 完成编辑的 O.A = False|TrueFixedAlignment 固定列的对齐方式 O.A(Col) = 0 至 9FixedCols 固定几列 O.A = 1FixedRows 固定几行 O.A = 1FlexDataSource 流动数据源 O.A = rsDateFloodColor 设置流程颜色 O.A = ColorFocusRect 单元的选择虚框样式类型 O.A = 0|1|2|3|4|5Font 设定字体 O.A = FontNameFontBold 设定字体粗体 O.A = False|TrueFontItalic 设定字体斜体 O.A = False|TrueFontName 设定字体名称 O.A = FontNameFontSize 设定字体大小 O.A = 10FontStrikethru 设定字体删除线 O.A = False|TrueFontUnderline 设定字体下划线 O.A = False|TrueFontWidth 设定字体的宽度(非间距) O.A = 2ForeColor 设定字体前景颜色 O.A = ColorForeColorFixed 设定固定单元的文本颜色 O.A = ColorForeColorFrozen 设定字体冻结部分的前景颜色 O.A = ColorForeColorSel 设定选择单元的文本颜色 O.A = ColorFormatString 设计管道符格式化行/列字符串O.A = Format(1,"#0.00") FrozenCols 需要冻结的列数 O.A = 2 FrozenRows 需要冻结的行数 O.A = 2GetMergedRange() 获得合并山脉GetNode() 获得节点GetNodeRow() 获得节点行GetSelection() 获得选择O.A Row1, Col1, Row2, Col2 GridColor 单元行列的网格线颜色 O.A = ColorGridColorFixed 设定固定网格线的颜色 O.A = ColorGridLines 可编辑区的网格线类型 O.A = 0 至 14GridLinesFixed 固定行列网格效果类型 O.A = 0 至 14GridLineWidth 编辑区的网格线线粗细 O.A = 1Height 设置对象高度 O.A = 1000HelpContextID 对象缺省上下文帮助ID O.A = HelpIDHighLight 是否突出加亮显示选中单元 O.A = 0[无]|1[默认]|2[仅焦点时有] hWnd 获取对象句柄 O.AIndex 对象索引号(运行时只读) O.AIsCollapsedIsSelected 是否已选择 O.AIsSubtotal 是否已小记 O.ALeft 对象距左边位置 O.A = 100LeftCol 指定显示在最左边的列 O.A = 1LoadArray() 载入数组LoadGrid() 载入网格O.A FileName, 0 至6[,True(含固定行列)|False]LoadGridURL() 载入网格URLMergeCells 相同内容的单元格合并类型 O.A = 0|1|2|3|4|5|6MergeCol 是否上下列合并 O.A(Col) = TrueMergeCompare 返回/设置合并比较类型 O.A = 0|1|2MergeRow 是否左右行合并 O.A(Row) = TrueMouseCol 返回鼠标指向的当前列号 O.AMouseIcon 设定鼠标指向的当前图形O.A = LoadPicture("C:\.ico") MousePointer 设置对象的鼠标指针样式O.A = 0 到 15|99MouseRow 返回鼠标指向的当前行号 O.AMove() 移动对象O.A Left,[Top],[Width],[Height] MultiTotals Multi总数Name 对象名称(运行时只读) O.ANodeClosedPicture 节点封闭的图标O.A = LoadPicture("C:\.ico") NodeOpenPicture 节点打开的图标O.A = LoadPicture("C:\.ico") Object 返回/设置该对象变量Set DimObjName = O.AOLEDrag() OLE拖拽数据 O.AOLEDragMode OLE拖拽方式 O.A = 0|1OLEDropMode OLE拖拽落下方式 O.A = 0|1|2Outline() 外面的线OutlineBar 返回/设置显示目录树的线条 O.A = 0 至 6OutlineCol 外面的线列OwnerDraw 返回或设置执行 DrawCell 事件 O.A = 0 至 6Parent 返回该对象所在的对象(只读) O.A.Caption = "Forms"Picture 返回控件的图片(只读) O.A.属性|方法 = 相应值PicturesOver 返回控件图片结束 O.A = False|TruePictureType 用Picture属性生成的图片类型 O.A = 0|1PrintGrid() 打印网格数据 O.A ["主题",True|False,1|2,左右空,上下空] Redraw 设定是否刷新控件 O.A = 0|1|2Refresh() 刷新表格 O.ARemoveItem() 删除指定行 O.A VSG1.RowSelRightCol 返回右边最大的可见列范围 O.ARightT oLeft 是否将固定行放到右边 O.A = TrueRow 设置激活单元的行号 O.A = 2RowData 设置用户定义的长整形数据 O.A(Row) = UserLongRowHeight 返回/设置指定行高 O.A(Row) = 100RowHeightMax 行高的最大值 O.A(Row) = 500RowHeightMin 行高的最小值 O.A(Row) = 230RowHidden 是否隐藏指定行 O.A(2) = True|FalseRowIsVisible 返回行是否在可见范围中(只读) O.A(Row)RowOutlineLevel 返回/设置水平行小记 O.A(Row) = 0|1RowPos 返回行距上边高度(只读) O.A RowRowPosition 移动行的位置 O.A(Row) = NewRowRows 返回/设置总行数 O.A = 2RowSel 返回/设置最后选择的行 O.A = 2RowStatus 设置行状态 O.A = 0|1|2|3SaveGrid() 保存网格内容到二进制文件O.A FileName, 0 至6[,True(含固定行列)|False]ScrollBars 设定卷动轴的方式 O.A = 0|1|2|3ScrollTips 卷轴提示 O.A = False|TrueScrollTipText 卷轴提示文本 O.A = "Text"ScrollTrack 行是否随拖动条卷动显示 O.A = False|TrueSelect() 选择行列范围O.A Row,Col[,RowSel][,ColSel] SelectedRow 已选择行(只读) O.A(Row)SelectedRows 返回所选总行数(只读) O.ASelectionMode 设置单元焦点选中方式 O.A = 0|1|2|3SetFocus() 设置到对象焦点 O.ASheetBorder 表格边框颜色 O.A = ColorShowCell() 立刻显示到指定单元 O.A Row, ColShowComboButton 是否显示当选择时拉下按钮O.A = 0|1|2 ShowWhatsThis() 显示“这是什么” O.ASort 按照选择的基准重新排序顺序方式 O.A = 0 到 10Subtotal() 小计O.A 属性名[,其它共9个可省略参数] SubtotalPosition 是否小计上面或下面的数值 O.A = 0|1T abBehavior T ab键跳转顺序禁止 O.A = 0|1T abIndex 对象的T ab选择顺序 O.A = 2T abStop 是否允许T ab自动选择 O.A = True|FalseT ag 存储数据时所需的附加数据 O.A = StrText 返回/写入当前单元的文字 O.A = StrTextMatrix 返回/写入指定单元的文字 O.A(Row, Col) = StrTextStyle 单元格文字效果 O.A = 0|1|2|3|4TextStyleFixed 固定行列文本的3D效果 O.A = 0|1|2|3|4ToolTipText 鼠标指向表格的说明消息 O.A = "TextString"Top 对象上边距 O.A = 100TopRow 指定显示在最上面的行 O.A = 5TreeColor 目录树颜色 O.A = ColorValue 返回当前单元数值部分(只读) O.AValueMatrix 返回指定单元数值部分(只读) O.A Row, ColVersion 返回控件的版本号(只读) O.AVirtualData 虚拟数据 O.A = True|FalseVisible 是否显示对象 O.A = True|FalseWallPaper 表格壁纸背景图 O.A=LoadPicture(Image) | O.A.属性|方法 = 相应值WallPaperAlignment 壁纸背景图墙报对齐方式 O.A(Col) = 0 至10WhatsThisHelpID 设置与对象相关联的上下文号O.A = HelpIDStringWidth 设置对象宽度 O.A = 5000WordWrap 设定单元中的文本是否换行 O.A = True|FalseZOrder() 设置对象Z顺序 O.A 0|1vsflexgrid技巧大全如何实现将vsflexgrid中修改的数据反馈到数据库中??Private Sub vsflexgrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long)rs.MoveFirst '//rs为记录集rs.Move vsflexgrid1.Row - 1rs.EditIf vsflexgrid1.text = "" Thenrs.Fields(vsflexgrid1.Col - 1) = NullElsers.Fields(vsflexgrid1.Col - 1) = vsflexgrid1.textEnd Ifrs.Updateend sub一、增加记录使用for来循环表格行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset 对象的记录和字段。
可以使用DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意DataGrid 控件与Visual Basic 5.0中的DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持DBGrid 的“解除绑定模式”概念。
DBGrid 控件包括在Visual Basic 的Tools 目录中。
可能的用法查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用DataGrid 控件的设计时特性可以不编写任何代码,只通过使用DataGrid 控件的设计时特性来创建一个数据库应用程序。
下面的说明概要地说明了在实现DataGrid 控件的典型应用时的一般步骤。
完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用DataGrid 控件创建一个简单数据库应用程序”。
要在设计时实现一个DataGrid 控件1. 为要访问的数据库创建一个Microsoft 数据链接(.MDL) 文件。
请参阅“创建Northwind OLE DB 数据链接”主题,以获得一个示例。
2. 在窗体上放置一个ADO Data 控件,并将其ConnectionString 属性设置为在第1 步中所创建的OLE DB 数据源。
3. 在这个Ado Data 控件的RecordSource 属性中输入一条将返回一个记录集的SQL 语句。
例如,Select * From MyTableName Where CustID = 124. 在窗体上放置一个DataGrid 控件,并将其DataSource 属性设置为这个ADO Data 控件。
5. 右键单击该DataGrid 控件,然后单击“检索字段”。
6. 右键单击该DataGrid 控件,然后单击“编辑”。
7. 重新设置该网格的大小、删除或添加网格的列。
8. 右键单击该DataGrid 控件,然后单击“属性”。
9. 使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
在运行时更改显示的数据在创建了一个使用设计时特性的网格后,也可以在运行时动态地更改该网格的数据源。
下面介绍实现这一功能的通常方法。
更改DataSource 的RecordSource更改所显示的数据的最通常方法是改变该DataSource 的查询。
例如,如果DataGrid 控件使用一个ADO Data控件作为其DataSource,则重写RecordSource和刷新该ADO Data 控件都将改变所显示的数据。
' ADO Data 控件连接的是Northwind 数据库的' Products 表。
新查询查找所有' SupplierID = 12 的记录。
Dim strQuery As StringstrQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"Adodc1.RecordSource = strQueryAdodc1.Refresh更改DataSource在运行时,可以将DataSource 属性重新设置为一个不同的数据源。
例如,您可能具有若干个ADO Data 控件,每个控件连接不同的数据库,或设置为不同的RecordSource 属性。
可以简单地将DataSource 从一个ADO Data控件重新设置为另一个ADO Data 控件:' 将DataSource 重新设置为一个连接到Pubs 数据库的、' 使用Authors 表的ADO Data 控件。
Set DataGrid1.DataSource = adoPubsAuthors重新绑定DataSource当将DataGrid 控件用于一个远程数据库,诸如SQLServer 时,可以改变表的结构。
例如,可以给这个表添加一个字段。
在这种情形下,可以调用Rebind 方法根据新的结构来重新创建该网格。
注意,如果已经在设计时改变了这个列的布局,DataGrid 控件将会试图重新创建当前的布局,包括任何空的列。
不过,通过首先调用ClearFields 方法,可以强制该网格重新设置所有的列。
从DataGrid 返回值在DataGrid 被连接到一个数据库后,可能想要监视用户单击了哪一个单元。
可以使用RowColChange 事件——而不是Click 事件。
如下所示:Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)' 显示用户所单击的单元的文字、行和列的信息。
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.ColEnd Sub使用CellText 和CellValue 方法当一个列使用NumberFormat 属性设置格式后,CellText 和CellValue 属性是很有用的。
NumberFormat 属性不必更改实际的数据格式就可以更改任何包含数字的列的格式。
例如,给定一个网格,其中包含一个名为ProductID的、包含整数的列。
下面的代码将使DataGrid 以"P-0000" 的格式来显示数据。
换句话说,尽管在ProductID 字段中所包含的实际数值为"3",但该网格所显示的值将是"P-0003"。
Private Sub Form_Load()DataGrid1.Columns("ProductID").NumberFormat = "P-0000"End Sub要返回数据库中所包含的实际值,应使用CellValue 方法,如下所示:Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)Debug.Print _DataGrid1.Columns("ProductID").CellValue(DataGrid1.Bookmark)End Sub注意上面所用的CellValue 和下面所用的CellText 值,都需要将Bookmark 属性作为一个参数,功能才正确。
相反地,如果要返回该字段的格式化的值,应使用CellText 方法:Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)Debug.Print _DataGrid1.Columns("ProductID").CellText(DataGrid1.Bookmark)End Sub注意上面的CellText 方法等价于使用DataGrid 控件的Text 属性。
下一步要阅读关于使用该控件创建简单的应用程序的一个循序渐进的过程,请参阅“使用DataGrid 控件创建简单的数据库应用程序”,或“创建一个连接DataList 控件的DataGrid”。
要了解关于Split 对象以及如何对其编程的详细信息,请参阅“操作DataGrid 视图”。
创建Northwind 的OLE DB 数据链接访问数据的一个重要步骤是为想要访问的每个数据库都创建一个OLE DB数据源。
下面的步骤为Visual Basic 所提供的Nwind.mdb (Northwind) 数据库创建这样一个对象。
这个数据源被用于Visual Basic 文档所提供的一些示例过程。
在一个计算机上只需要创建一次OLE DB 数据源。
要创建Northwind 的OLE DB 数据源1. 打开Windows Explorer或Windows NT Explorer。
2. 打开您想要创建OLE DB 数据源的目录。
在该示例中,打开ProgramFiles、Microsoft Visual Studio和VB98。
3. 右键单击Explorer 的右边窗格,然后单击上下文菜单上的“新建”。
从文件类型列表中单击“Microsoft 数据链接”。
4. 重命名新文件Northwind.MDL。
5. 右键单击文件并单击上下文菜单上的“属性”,以显示“Northwind.MDLProperties”对话框。
6. 单击“连接”选项卡。
7. 单击“提供方”框并选择“Microsoft Jet 3.51 OLE DB Provider”。
8. 在Data Source 框中输入nwind.mdb文件的路径。
9. 单击“测试连接”,检测连接。
10. 如果连接通过,单击“确定”。
注意也可以通过在“控制面板”中单击“数据链接”图标创建一个OLE DB数据源。
在“管理数据链接文件”对话框中,单击“新建”创建一个新的数据源。
使用DataGrid 和ADO Data控件创建一个简单的数据库应用程序只使用一个DataGrid 和一个ADO Data 控件,可以创建一个允许最终用户阅读和写入记录集的数据库应用程序。
要使用ADO 数据控件来创建一个简单的数据库应用程序1. 为Northwind 数据库创建一个OLE DB 数据源。
如果还没有创建数据源,请按照“创建Northwind 的OLE DB Data Link”中的步骤操作。
2. 在Visual Basic 中创建一个新的标准的EXE 工程。
如果DataGrid 控件不在“工具箱”中,则用右键单击“工具箱”,然后使用“部件”对话框来添加控件。
同时也载入ADO 控件。
3. 在空窗体上各放置控件的一个实例。
4. 将ADO 控件的ConnectionString 属性设置为Northwind 的数据源。