在VB中,DataGrid如何添加行数及列数,单元格内容如何表示?请教高手,本亲手对DataGrid控件不熟悉,谢谢

 我来答
xlzzc
2011-11-06 · TA获得超过7301个赞
知道大有可为答主
回答量:4205
采纳率:50%
帮助的人:1417万
展开全部
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
'显示用户所单击的单元的文字、行和列的信息
Debug.Print DataGrid1.Text; DataGrid1.Row; DataGrid1.Col
End Sub
这是你的第二个问题。
张志晨

第一个问题:
你自己试下:
通过使用 Columns 集合和 Column 对象的属性和方法,可以在程序中添加、删除列。
要在运行时添加一列,可以使用 Add 方法。如果首先声明一个变量,并将新对象赋给该变量,就可以用简明的代码设置各种属性。
Private Sub AddColumn()
'在最右边的位置添加一列。然后设置其 Visible、Width、
'Caption以及 Alignment 属性。DataField 属性则指定
' 该列将绑定到哪一个字段。
Dim c As Column
Set c = DataGrid1.Columns.Add(DataGrid1.Columns.Count)
With c
.Visible = True
.Width = 1000
.Caption = “我的新列”
.DataField = Adodc1.Recordset.Fields(“ProductName”).Name
.Alignment = dbgRight
End With
End Sub
可以使用方法来删除任意一列。请确保使用 ColIndex 参数来指定要删除的列。下面的代码将删除被单击的列。
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
DataGrid1.Columns.Remove ColIndex
End Sub

另外:
在VB6中,Datagrid控件应该是初学者最喜使用的控件之一,它对数据简单绑定却又往往束缚住手脚。正确的使用的Datagrid必须首先了解它的本质。
Datagrid的本质在于它从来就不是一个真正的网格控件。我们可以片面理解,一个真正的网格控件就是必须将数据脱离Recordset而读进本身的控件。如:Msflexgrid,Mshflexgrid,Spread这些都属于真实的网格控件,我们可以独立的设置这些控见的rows,cols。相反Datagrid,Listview则不属于网格控件。
了解完本质,则可以清楚的知道,因为Datagrid不能将数据读进自身,所以实际它是脱离不了Recordset,我们需要显示的数据效果,只能通过ADO控件来操纵Recordset的表现形式来完成任务。
建议转学VS2011,学习Msflexgrid,Mshflexgrid控件知识。
追问
在VB中,MSFlexGrid这个控件确实好用,但由于单元格总数的限制,有时候用不上来。而Datagrid这个控件我没使用过,也不太熟悉,很难学。
夏天的冰儿ok
2012-05-22
知道答主
回答量:12
采纳率:0%
帮助的人:9776
展开全部
他们说的都好复杂,前几天我刚用过啊,很简单的,右键datagrid然后点击“编辑”,然后再选择“追加”就可以添加了。对于单元格内容,单击“属性”,选择“列”,就可以编辑表格的表头了。
追问
谢谢!我现在用vsflexgrid这个控件了,很好用也很强大哦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx001z7d53
推荐于2017-09-15 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5526万
展开全部
'Ctrl+t找Microsoft DataGrid Control....
'菜单"工程"->"引用" 找 Microsoft ActiveX Data Object....

Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim SqlStr As String
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=111"
SqlStr = "Select * From 某个表"
rst.CursorLocation = adUseClient
rst.Open SqlStr, cn, adOpenDynamic, adLockOptimistic, adCmdText '打开记录集
Set DataGrid1.DataSource = rst '给DataGrid修改数据源
更多追问追答
追问
不好意思我只是提问上面的问题,如果你知道的话,麻烦你教我一下
追答
这个控件自动化程度很高,行数及列数都是自动的,单元格内容可以提交并保存到数据库,也是自动的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式