十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1.DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示 Recordset 对象的记录和字段。可以使用 DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。当在设计时设置了DataGrid 控件的 DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
站在用户的角度思考问题,与客户深入沟通,找到北流网站设计与北流网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、申请域名、网页空间、企业邮箱。业务覆盖北流地区。
2.在运行时,可以在程序中切换 DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意 DataGrid 控件与 Visual Basic 5.0中的 DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持 DBGrid 的“解除绑定模式”概念。DBGrid 控件包括在 Visual Basic 的 Tools 目录中。
可能的用法
查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如 DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
3.使用 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 = 12
4. 在窗体上放置一个 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 String
strQuery = "SELECT * FROM Suppliers WHERE SupplierID = 12"
Adodc1.RecordSource = strQuery
Adodc1.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.Col
End 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
首先,须在项目里引用: 添加引用-Com-Microsoft Excel 9.0 Object Library (这是EXCEL2000)
1 打开Excel: dim myexcel as new Excel.Application() myexcel.visible=true
2 添加新的工作簿: myexcel.Workbooks.add()
3 设定第二个工作表为活动工作表: myexcel.worksheets(2).Acivate()
4 打开指定的Excel文件: myexcel.workbooks.open("c:\my.xls")
5 显示Excel窗口: myexcel.visible=true
6 更改Excel的标题栏: myexcel.caption="欢迎,欢迎!"
7 为Excel的单元格赋值: myexcel.cells(1,4).value=100 此语句使Excel当前工作表的第一行第四列,即D1单元格等于100, 也可以这样写: myexcel.Range("D1").value=100
8 设置指定列的宽度(单位:字符个数): myexcel.ActiveSheet.colums(1).columnwidth=20 设定当前工作表第1列的宽度为20
9 设置指定行的高度(单位:磅): myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米 设置第1行的高度为1CM
10 插入分页符: myexcel.Activesheet.rows(20).pagebreak=1 在第20行前插入分页符
11 删除分页符: myexcel.Activesheet.columns(20).pagebreak=0 在第20列前删除分页符
12 指定边框线的宽度: myexcel.Activesheet.range("B3:D3").borders(1).weight=3 其中borders参数指定单元格边框的位置: 1:左 2:右 3:顶 4:底 5:斜\ 6:斜/
13 指定边框线条的类型: myexcel.Activesheet.range("B1:D3").borders(2).linestyle=1 此语句将当前工作表的B1:D3单元格的右边框设置为实线 linestyle参数: 1:细实线 2:细虚线 3:点虚线 4:双细实线
14 设置页脚: myexcel.activesheet.pagesetup.centerfooter="第p页" 注意:设置页眉页脚时要保证计算机上装有打印机,否则出错!
15 设置页眉: myexcel.activesheet.pagesetup.centerfooter="第p页"
16 设置页眉到顶断距离为2cm: myexcel.Activesheet.pagesetup.Headermargin=2/0.035
17 设置页脚到底端距离为2cm: myexcel.Activesheet.pagesetup.Footermargin=2/0.035
18 设置顶边边距为2cm: myexcel.Activesheet.pagesetup.topmargin=2/0.035
19 设置底边边距为2cm: myexcel.Activesheet.pagesetup.Bottommargin=2/0.035
20 设置左边边距为2cm: myexcel.Activesheet.pagesetup.Leftmargin=2/0.035
21 设置右边边距为2cm: myexcel.Activesheet.pagesetup.Rightmargin=2/0.035
22 设置页面水平居中: myexcel.activesheet.pagesetup.CenterHorizontally=true
23 设置页面垂直居中: myexcel.activesheet.pagesetup.Centervertically=true
24 设置页面纸张大小 (1,窄行 8.5*11 ;39 ,宽行 14*11): myexcel.activesheet.pagesetup.papersize=1
25 打印单元格网格线: myexcel.activesheet.pagesetup.PrintGridlines=true
26 复制整个工作表 : myexcel.activesheet.Usedrange.Copy
27 复制指定区域 : myexcel.activesheet.range("a1:b5").Copy
28 粘贴: myexcel.worksheets("sheet2").range("A1").PasteSpecial
29 在第2行前插入一行 : myexcel.activesheet.rows(2).Insert
30 在第2列前插入一列 : myexcel.Activesheet.Columns(2).Insert
31 合并 C4:D4 单元格: myexcel.Activesheet.Range("C4:D4").Merge()
32 自动调整第2列列宽: myexcel.activesheet.Columns(2).AutoFit
33 设置字体: myexcel.Activesheet.cells(2,1).font.name="黑体"
34 设置字体大小: myexcel.Activesheet.cells(2,1).font.size=25
35 设置字体为斜体: myexcel.Activesheet.cells(2,1).font.Italic=true
36 设置字体为粗体: myexcel.Activesheet.cells(2,1).font.Bold=true
37 清除单元格内容: myexcel.activesheet.cells(2,1).ClearContents
38 打印预览工作表: myexcel.Activesheet.PrintPreview
39 打印工作表: myexcel.Activesheet.Printout
40 工作表另存为: myexcel.ActiveWorkbook.saveas("C:\book2.xls")
41 放弃存盘: myexcel.ActiveWorkbook.saved=false
42 关闭工作簿: myexcel.Workbooks.close
43 退出 Excel: myexcel.quit
清楚了这些命令,操作excel不就变的很轻松了!
DataGridView
的边框线样式的设定
DataGridView
的边框线的样式是通过
DataGridView.BorderStyle
属性来设定的。
BorderStyle
属性设定值是一个
BorderStyle
枚举:
FixedSingle(单线,默认)、Fixed3D、None。
2)
单元格的边框线样式的设定单元格的边框线的样式是通过
DataGridView.CellBorderStyle
属性来设定的。
CellBorderStyle
属性设定值是
DataGridViewCellBorderStyle
枚举。(详细参见
MSDN)
另外,通过
DataGridView.ColumnHeadersBorderStyle
和
RowHeadersBorderStyle
属性可以修改
DataGridView
的头部的单元格边框线样式。
属性设定值是
DataGridViewHeaderBorderStyle
枚举。(详细参见
MSDN)
3)
单元格的边框颜色的设定
单元格的边框线的颜色可以通过
DataGridView.GridColor
属性来设定的。默认是
ControlDarkDark
。但是只有在
CellBorderStyle
被设定为
Single、SingleHorizontal、SingleVertical
的条件下才能改变其边框线的颜色。同样,ColumnHeadersBorderStyle
以及
RowHeadersBorderStyle
只有在被设定为
Single
时,才能改变颜色。
4)
单元格的上下左右的边框线式样的单独设定
CellBorderStyle只能设定单元格全部边框线的式样。要单独改变单元格某一边边框式样的话,需要用到DataGridView.AdvancedCellBorderStyle属性。如示例:[VB.NET]'
单元格的上边和左边线设为二重线
'
单元格的下边和右边线设为单重线
DataGridView1.AdvancedCellBorderStyle.Top
=
_
DataGridViewAdvancedCellBorderStyle.InsetDouble
DataGridView1.AdvancedCellBorderStyle.Right
=
_
DataGridViewAdvancedCellBorderStyle.Inset
DataGridView1.AdvancedCellBorderStyle.Bottom
=
_
DataGridViewAdvancedCellBorderStyle.Inset
DataGridView1.AdvancedCellBorderStyle.Left
=
_
objRange.Borders(XlBordersIndex.xlEdgeBottom).LineStyle = XlLineStyle.xlContinuous
objRange.Borders(XlBordersIndex.xlEdgeBottom).ColorIndex = 1
objRange.Borders(XlBordersIndex.xlEdgeBottom).Weight = XlBorderWeight.xlThin