vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

时间:2022-05-26 16:23:33
vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

38 个解决方案

#1


请LZ 参阅

#2


vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#3


这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

引用 2 楼 zdingyun 的回复:

#4


引用 3 楼 getemail 的回复:
这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

请给出设置的代码,供大家学习!
谢谢!

#5


我这里没装VB,但是我以前那么设置过
另外,所有ACTIVEX属性页中的设置都可以用代码实现
这一点无可争议
具体怎么设置可以参看MSDN

引用 4 楼 zdingyun 的回复:
引用 3 楼 getemail 的回复:
这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

请给出设置的代码,供大家学习!
谢谢!

#6


LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:
vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#7


引用 5 楼 getemail 的回复:
我这里没装VB,但是我以前那么设置过
另外,所有ACTIVEX属性页中的设置都可以用代码实现
这一点无可争议
具体怎么设置可以参看MSDN

机器没有VB,那你就装个VB,也好给出更佳的答复.

#8


看来你还是真的不知道,无语了
你可以参考
http://topic.csdn.net/t/20020201/23/514433.html

引用 6 楼 zdingyun 的回复:
LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:

#9


注意1楼可是获得了60分的满分,这个帖子是
2002-02-01 23:16:11 在 VB / 基础类 提问的

引用 8 楼 getemail 的回复:
看来你还是真的不知道,无语了
你可以参考
http://topic.csdn.net/t/20020201/23/514433.html

引用 6 楼 zdingyun 的回复:
LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:

#10


问题在于DATAGRID控件缺省是2列,你如何用代码扩展.

#11


代码设置列宽需要已将DataGrid控件绑定到数据控件,数据控件和相关数据表连接的基础上实施.即实施了检索字段这步.

#12


你怎么用手工扩展就怎么用代码扩展

引用 10 楼 zdingyun 的回复:
问题在于DATAGRID控件缺省是2列,你如何用代码扩展.

#13


手工扩展不需要检索字段?

引用 11 楼 zdingyun 的回复:
代码设置列宽需要已将DataGrid控件绑定到数据控件,数据控件和相关数据表连接的基础上实施.即实施了检索字段这步.

#14


引用 12 楼 getemail 的回复:
你怎么用手工扩展就怎么用代码扩展

引用 13 楼 getemail 的回复:
手工扩展不需要检索字段?

按MSDN:
要在设计时实现一个 DataGrid 控件 
为您希望访问的数据库创建一个 Microsoft 数据链接 (.UDL) 文件。请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。 
在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。 
在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。例如, 
Select * From MyTableName Where CustID = 12 
在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。 
右键单击该 DataGrid 控件,然后单击“检索字段”。 
右键单击该 DataGrid 控件,然后单击“编辑”。 
重新设置该网格的大小、删除、或添加网格的列。 
右键单击该 DataGrid 控件,然后单击“属性”。 
使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
可以手工扩展DataGrid 控件列,但必须同时各列绑定字段,其扩展的列才能存在.
否则运行后, DataGrid 控件仍是缺省的2列.
或者采用搜索字段来绑定DataGrid 控件的各列与ADO数据控件连接的数据源所连接表的各字段.

#15


Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以
教你不少了,想知道更多就开帖子给分吧

引用 14 楼 zdingyun 的回复:
引用 12 楼 getemail 的回复:
你怎么用手工扩展就怎么用代码扩展

引用 13 楼 getemail 的回复:
手工扩展不需要检索字段?

按MSDN:
要在设计时实现一个 DataGrid 控件
为您希望访问的数据库创建一个 Microsoft 数据链接 (.UDL) 文件。请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。
在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。
在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。例如,
Select * From MyTableName Where CustID = 12
在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。
右键单击该 DataGrid 控件,然后单击“检索字段”。
右键单击该 DataGrid 控件,然后单击“编辑”。
重新设置该网格的大小、删除、或添加网格的列。
右键单击该 DataGrid 控件,然后单击“属性”。
使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
可以手工扩展DataGrid 控件列,但必须同时各列绑定字段,其扩展的列才能存在.
否则运行后, DataGrid 控件仍是缺省的2列.
或者采用搜索字段来绑定DataGrid 控件的各列与ADO数据控件连接的数据源所连接表的各字段.

#16


引用 15 楼 getemail 的回复:
Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以

博士!失敬!失敬!
请不要在技术贴的讨论中捣乱.
Private Sub Form_Load()
    Dim cn As New ADODB.Connection '定义数据库的连接
    sql = "select * from biao1"
    Dim rs As New ADODB.Recordset
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation = adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs
    Set DataGrid1.DataSource = rs
End Sub

#17


高工不愧是*锻炼出来的人,扣帽子一手熟,我的哪句话是捣乱的?
你说你这么一大把年纪了
错了就错了,还死要面子
技术的东西可不能误人子弟
科学技术来不得半点虚荣与骄傲

引用 16 楼 zdingyun 的回复:
引用 15 楼 getemail 的回复:
Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以


博士!失敬!失敬!
请不要在技术贴的讨论中捣乱.
VB codePrivateSub Form_Load()Dim cnAsNew ADODB.Connection'定义数据库的连接    sql="select * from biao1"Dim rsAsNew ADODB.Recordset
    cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation= adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimisticSet MSHFlexGrid1.DataSource= rsSet DataGrid1.DataSource= rsEnd Sub

#18


引用 17 楼 getemail 的回复:

你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

#19


看来你也是不会
够可怜的
引用 18 楼 zzyong00 的回复:
引用 17 楼 getemail 的回复:


你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

#20


Datagrid1.Columns(0).Width=1695.118
就相当于#2楼的手工设置

#21


vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#22


1.建议通过代码绑定到ADO对象上,而不是什么控件
2.数值可以不是整数

引用 21 楼 zdingyun 的回复:

#23


引用 22 楼 getemail 的回复:
1.建议通过代码绑定到ADO对象上,而不是什么控件

代码绑定到ADO对象上,那么DataGrid 控件的列数如何增加?或者说如何超过2列?

#24


没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

引用 23 楼 zdingyun 的回复:
引用 22 楼 getemail 的回复:
1.建议通过代码绑定到ADO对象上,而不是什么控件

代码绑定到ADO对象上,那么DataGrid 控件的列数如何增加?或者说如何超过2列?

#25


检索带=检索到
写错一字

#26


引用 24 楼 getemail 的回复:
没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

没见你拿出代码来呀!

#27


你用Ado Data 控件自己开发自己用,那是发现不了问题的
别人都是开发了卖
这就牵扯到安装到客户机器上,ADO的设置数据库路径是死的
另一个问题就是出现一个新客户的时候
使用控件需要重新来设置
用代码就可以直接修改使用,复制也方便,阅读也清晰

#28


http://topic.csdn.net/u/20091018/18/53cf65d3-17de-40f3-9b08-c95d148280d6.html?91740
上面有ADO的代码,你自己不看
你让我拿什么拿

引用 26 楼 zdingyun 的回复:
引用 24 楼 getemail 的回复:
没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

没见你拿出代码来呀!

#29


给你点代码看看吧,我用记事本打开复制的
这里没装VB
Dim cn As New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=123"

Dim rst As New ADODB.Recordset
Dim SqlStr As String
SqlStr = "Select * FROM 坯子类型清单"
rst.Open SqlStr, cn, adOpenDynamic, adLockOptimistic, adCmdText
Combo1.Clear
Do While rst.EOF = False
    Combo1.AddItem rst.Fields("坯子类型").Value
    rst.MoveNext
Loop
Set DataGrid1.DataSource = rst
DataGrid1.Caption = "坯子类型情况"

#30


LS:受较了!
咋也没看到DataGrid1控件的列设置,只看到用代码设置了DataGrid1.Caption = "坯子类型情况"
DataGrid1控件绑定到rst记录集,能显示的是该记录集的所有字段.但此时如果添加句
Datagrid1.Columns(2).Width=1695.118

Set DataGrid1.DataSource = rst 
DataGrid1.Caption = "坯子类型情况"
VB必然报错(下标越界)
如此写
Private Sub Form_Load()
    Dim cn As New ADODB.Connection '定义数据库的连接
    sql = "select * from biao1"
    Dim rs As New ADODB.Recordset
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation = adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs
    Set DataGrid1.DataSource = rs
    DataGrid1.Columns(2).Width = 1695
End Sub

不报错. 

#31


下标越界是因为你只有两列的时候去设置第三列
你用控件连起来也是这个错误
你可以去设置显示出来的列的宽度

引用 30 楼 zdingyun 的回复:
LS:受较了!
咋也没看到DataGrid1控件的列设置,只看到用代码设置了DataGrid1.Caption = "坯子类型情况"
DataGrid1控件绑定到rst记录集,能显示的是该记录集的所有字段.但此时如果添加句
Datagrid1.Columns(2).Width=1695.118

Set DataGrid1.DataSource = rst
DataGrid1.Caption = "坯子类型情况"
VB必然报错(下标越界)
如此写
VB codePrivateSub Form_Load()Dim cnAsNew ADODB.Connection'定义数据库的连接    sql="select * from biao1"Dim rsAsNew ADODB.Recordset
    cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation= adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimisticSet MSHFlexGrid1.DataSource= rsSet DataGrid1.DataSource= rs
    DataGrid1.Columns(2).Width=1695End Sub
不报错.

#32


你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

#33


引用 32 楼 getemail 的回复:
你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

真是莫名其妙,讨论问题成了谢罪对象.罢!罢!
vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#34


你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费
为了你的职称和论文

引用 33 楼 zdingyun 的回复:
引用 32 楼 getemail 的回复:
你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

真是莫名其妙,讨论问题成了谢罪对象.罢!罢!

#35


引用 34 楼 getemail 的回复:
你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费

博士,请不要胡说八道,我做的VB程序是我供职的公司自己用的.是没有报酬的.也从无有课题经费来自国家.

#36


我说过了,ADODC控件开发的东西自己用没问题
但这里大多数人开发的东西是要卖的
并且要多次修改为了下一部开发
另外,IT人员流动也很大
不说了,同你这种吝啬的家伙说了也不给分

引用 35 楼 zdingyun 的回复:
引用 34 楼 getemail 的回复:
你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费

博士,请不要胡说八道,我做的VB程序是我供职的公司自己用的.是没有报酬的.也从无有课题经费来自国家.

#37


引用 19 楼 getemail 的回复:
看来你也是不会
够可怜的
引用 18 楼 zzyong00 的回复:
引用 17 楼 getemail 的回复:


你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

对你真是无语!

#38


怎么又成了吵架帖,哎
lz的分太少,要是多的话,我给你写个例子,根据内容自动调整datagrid的列宽

思路:
其实可以实现自动调整的,因一个汉字的长度大小约120twip,循环判断datagrid或adodc的各字段的最大字符数 M(i),M是数组
DataGrid1.Columns(i).Width= M(i)*120

如还有问题,这里来找我
http://topic.csdn.net/u/20090917/13/2dccaaaa-6cfb-4a73-81a1-071ba4c53b3e.html?63719

#1


请LZ 参阅

#2


vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#3


这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

引用 2 楼 zdingyun 的回复:

#4


引用 3 楼 getemail 的回复:
这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

请给出设置的代码,供大家学习!
谢谢!

#5


我这里没装VB,但是我以前那么设置过
另外,所有ACTIVEX属性页中的设置都可以用代码实现
这一点无可争议
具体怎么设置可以参看MSDN

引用 4 楼 zdingyun 的回复:
引用 3 楼 getemail 的回复:
这个图里所有属性都可以通过代码设置,朱总这个不能不知道吧?

请给出设置的代码,供大家学习!
谢谢!

#6


LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:
vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#7


引用 5 楼 getemail 的回复:
我这里没装VB,但是我以前那么设置过
另外,所有ACTIVEX属性页中的设置都可以用代码实现
这一点无可争议
具体怎么设置可以参看MSDN

机器没有VB,那你就装个VB,也好给出更佳的答复.

#8


看来你还是真的不知道,无语了
你可以参考
http://topic.csdn.net/t/20020201/23/514433.html

引用 6 楼 zdingyun 的回复:
LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:

#9


注意1楼可是获得了60分的满分,这个帖子是
2002-02-01 23:16:11 在 VB / 基础类 提问的

引用 8 楼 getemail 的回复:
看来你还是真的不知道,无语了
你可以参考
http://topic.csdn.net/t/20020201/23/514433.html

引用 6 楼 zdingyun 的回复:
LS:不要一句话没有VB,就可打发.
DATAGRID控件不能实现,它无Rows和Cols属性.
MSFLEXGRID控件可以实现.
附图说明:

#10


问题在于DATAGRID控件缺省是2列,你如何用代码扩展.

#11


代码设置列宽需要已将DataGrid控件绑定到数据控件,数据控件和相关数据表连接的基础上实施.即实施了检索字段这步.

#12


你怎么用手工扩展就怎么用代码扩展

引用 10 楼 zdingyun 的回复:
问题在于DATAGRID控件缺省是2列,你如何用代码扩展.

#13


手工扩展不需要检索字段?

引用 11 楼 zdingyun 的回复:
代码设置列宽需要已将DataGrid控件绑定到数据控件,数据控件和相关数据表连接的基础上实施.即实施了检索字段这步.

#14


引用 12 楼 getemail 的回复:
你怎么用手工扩展就怎么用代码扩展

引用 13 楼 getemail 的回复:
手工扩展不需要检索字段?

按MSDN:
要在设计时实现一个 DataGrid 控件 
为您希望访问的数据库创建一个 Microsoft 数据链接 (.UDL) 文件。请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。 
在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。 
在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。例如, 
Select * From MyTableName Where CustID = 12 
在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。 
右键单击该 DataGrid 控件,然后单击“检索字段”。 
右键单击该 DataGrid 控件,然后单击“编辑”。 
重新设置该网格的大小、删除、或添加网格的列。 
右键单击该 DataGrid 控件,然后单击“属性”。 
使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
可以手工扩展DataGrid 控件列,但必须同时各列绑定字段,其扩展的列才能存在.
否则运行后, DataGrid 控件仍是缺省的2列.
或者采用搜索字段来绑定DataGrid 控件的各列与ADO数据控件连接的数据源所连接表的各字段.

#15


Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以
教你不少了,想知道更多就开帖子给分吧

引用 14 楼 zdingyun 的回复:
引用 12 楼 getemail 的回复:
你怎么用手工扩展就怎么用代码扩展

引用 13 楼 getemail 的回复:
手工扩展不需要检索字段?

按MSDN:
要在设计时实现一个 DataGrid 控件
为您希望访问的数据库创建一个 Microsoft 数据链接 (.UDL) 文件。请参阅“创建 Northwind OLE DB 数据链接”主题,以获得一个示例。
在窗体上放置一个 ADO Data 控件,并将其 ConnectionString 属性设置为在第 1 步中所创建的OLE DB 数据源。
在这个 Ado Data 控件的 RecordSource 属性中输入一条将返回一个记录集的 SQL 语句。例如,
Select * From MyTableName Where CustID = 12
在窗体上放置一个 DataGrid 控件,并将其 DataSource 属性设置为这个 ADO Data 控件。
右键单击该 DataGrid 控件,然后单击“检索字段”。
右键单击该 DataGrid 控件,然后单击“编辑”。
重新设置该网格的大小、删除、或添加网格的列。
右键单击该 DataGrid 控件,然后单击“属性”。
使用“属性页”对话框来设置该控件的适当的属性,将该网格配置为所需的外观和行为。
可以手工扩展DataGrid 控件列,但必须同时各列绑定字段,其扩展的列才能存在.
否则运行后, DataGrid 控件仍是缺省的2列.
或者采用搜索字段来绑定DataGrid 控件的各列与ADO数据控件连接的数据源所连接表的各字段.

#16


引用 15 楼 getemail 的回复:
Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以

博士!失敬!失敬!
请不要在技术贴的讨论中捣乱.
Private Sub Form_Load()
    Dim cn As New ADODB.Connection '定义数据库的连接
    sql = "select * from biao1"
    Dim rs As New ADODB.Recordset
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation = adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs
    Set DataGrid1.DataSource = rs
End Sub

#17


高工不愧是*锻炼出来的人,扣帽子一手熟,我的哪句话是捣乱的?
你说你这么一大把年纪了
错了就错了,还死要面子
技术的东西可不能误人子弟
科学技术来不得半点虚荣与骄傲

引用 16 楼 zdingyun 的回复:
引用 15 楼 getemail 的回复:
Ado Data 控件 很少有人使用了,你抱出个98年的MSDN当圣经啊
即使使用Ado Data 控件
Ado Data 控件的所有属性页中的属性设置,也都可以通过代码来实现
手工设置过几年就忘却了,可读性不强
代码设置可以加注释,修改方便,复制也方便,清晰
Ado Data 控件糊弄一下初学者还可以


博士!失敬!失敬!
请不要在技术贴的讨论中捣乱.
VB codePrivateSub Form_Load()Dim cnAsNew ADODB.Connection'定义数据库的连接    sql="select * from biao1"Dim rsAsNew ADODB.Recordset
    cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation= adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimisticSet MSHFlexGrid1.DataSource= rsSet DataGrid1.DataSource= rsEnd Sub

#18


引用 17 楼 getemail 的回复:

你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

#19


看来你也是不会
够可怜的
引用 18 楼 zzyong00 的回复:
引用 17 楼 getemail 的回复:


你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

#20


Datagrid1.Columns(0).Width=1695.118
就相当于#2楼的手工设置

#21


vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#22


1.建议通过代码绑定到ADO对象上,而不是什么控件
2.数值可以不是整数

引用 21 楼 zdingyun 的回复:

#23


引用 22 楼 getemail 的回复:
1.建议通过代码绑定到ADO对象上,而不是什么控件

代码绑定到ADO对象上,那么DataGrid 控件的列数如何增加?或者说如何超过2列?

#24


没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

引用 23 楼 zdingyun 的回复:
引用 22 楼 getemail 的回复:
1.建议通过代码绑定到ADO对象上,而不是什么控件

代码绑定到ADO对象上,那么DataGrid 控件的列数如何增加?或者说如何超过2列?

#25


检索带=检索到
写错一字

#26


引用 24 楼 getemail 的回复:
没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

没见你拿出代码来呀!

#27


你用Ado Data 控件自己开发自己用,那是发现不了问题的
别人都是开发了卖
这就牵扯到安装到客户机器上,ADO的设置数据库路径是死的
另一个问题就是出现一个新客户的时候
使用控件需要重新来设置
用代码就可以直接修改使用,复制也方便,阅读也清晰

#28


http://topic.csdn.net/u/20091018/18/53cf65d3-17de-40f3-9b08-c95d148280d6.html?91740
上面有ADO的代码,你自己不看
你让我拿什么拿

引用 26 楼 zdingyun 的回复:
引用 24 楼 getemail 的回复:
没玩过吧?
我再说一遍:手工设置可以通过代码来实现.
你手工设置的能实现,代码设置的就能实现
你手工设置的检索带几列,代码设置就能检索带几列.
这么说该明白了吧?

没见你拿出代码来呀!

#29


给你点代码看看吧,我用记事本打开复制的
这里没装VB
Dim cn As New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Mode=ReadWrite;Persist Security Info=False;Jet OLEDB:Database Password=123"

Dim rst As New ADODB.Recordset
Dim SqlStr As String
SqlStr = "Select * FROM 坯子类型清单"
rst.Open SqlStr, cn, adOpenDynamic, adLockOptimistic, adCmdText
Combo1.Clear
Do While rst.EOF = False
    Combo1.AddItem rst.Fields("坯子类型").Value
    rst.MoveNext
Loop
Set DataGrid1.DataSource = rst
DataGrid1.Caption = "坯子类型情况"

#30


LS:受较了!
咋也没看到DataGrid1控件的列设置,只看到用代码设置了DataGrid1.Caption = "坯子类型情况"
DataGrid1控件绑定到rst记录集,能显示的是该记录集的所有字段.但此时如果添加句
Datagrid1.Columns(2).Width=1695.118

Set DataGrid1.DataSource = rst 
DataGrid1.Caption = "坯子类型情况"
VB必然报错(下标越界)
如此写
Private Sub Form_Load()
    Dim cn As New ADODB.Connection '定义数据库的连接
    sql = "select * from biao1"
    Dim rs As New ADODB.Recordset
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation = adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimistic
    Set MSHFlexGrid1.DataSource = rs
    Set DataGrid1.DataSource = rs
    DataGrid1.Columns(2).Width = 1695
End Sub

不报错. 

#31


下标越界是因为你只有两列的时候去设置第三列
你用控件连起来也是这个错误
你可以去设置显示出来的列的宽度

引用 30 楼 zdingyun 的回复:
LS:受较了!
咋也没看到DataGrid1控件的列设置,只看到用代码设置了DataGrid1.Caption = "坯子类型情况"
DataGrid1控件绑定到rst记录集,能显示的是该记录集的所有字段.但此时如果添加句
Datagrid1.Columns(2).Width=1695.118

Set DataGrid1.DataSource = rst
DataGrid1.Caption = "坯子类型情况"
VB必然报错(下标越界)
如此写
VB codePrivateSub Form_Load()Dim cnAsNew ADODB.Connection'定义数据库的连接    sql="select * from biao1"Dim rsAsNew ADODB.Recordset
    cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& App.Path&"\ts.mdb;Persist Security Info=False"
    cn.Open
    rs.CursorLocation= adUseClient
    rs.Open sql, cn, adOpenDynamic, adLockOptimisticSet MSHFlexGrid1.DataSource= rsSet DataGrid1.DataSource= rs
    DataGrid1.Columns(2).Width=1695End Sub
不报错.

#32


你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

#33


引用 32 楼 getemail 的回复:
你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

真是莫名其妙,讨论问题成了谢罪对象.罢!罢!
vb6.0怎么设置datagrid单元格大小与单元格的内容相匹配啊

#34


你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费
为了你的职称和论文

引用 33 楼 zdingyun 的回复:
引用 32 楼 getemail 的回复:
你用控件连接也是先绑定后设置已有列的宽度
真是嘴硬,自己有1万多可用分在这里却利用别人的帖子问问题
怪不得最近老有人用ADODC控件,原来都是你教出来的,你该谢罪

真是莫名其妙,讨论问题成了谢罪对象.罢!罢!

#35


引用 34 楼 getemail 的回复:
你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费

博士,请不要胡说八道,我做的VB程序是我供职的公司自己用的.是没有报酬的.也从无有课题经费来自国家.

#36


我说过了,ADODC控件开发的东西自己用没问题
但这里大多数人开发的东西是要卖的
并且要多次修改为了下一部开发
另外,IT人员流动也很大
不说了,同你这种吝啬的家伙说了也不给分

引用 35 楼 zdingyun 的回复:
引用 34 楼 getemail 的回复:
你想一走了之
到VBGOOD去忽悠你的ADODC控件吧
你的高级工程师不是计算机类的,别到处吓唬人
你做的程序跟别人做的程序不一样
别人是靠它混饭吃,卖给客户
你做了是为了捞取国家的课题经费

博士,请不要胡说八道,我做的VB程序是我供职的公司自己用的.是没有报酬的.也从无有课题经费来自国家.

#37


引用 19 楼 getemail 的回复:
看来你也是不会
够可怜的
引用 18 楼 zzyong00 的回复:
引用 17 楼 getemail 的回复:


你也拿出点儿代码来,不然,空口说白话,已经自输三分了,我看你没有说下去的必要了

对你真是无语!

#38


怎么又成了吵架帖,哎
lz的分太少,要是多的话,我给你写个例子,根据内容自动调整datagrid的列宽

思路:
其实可以实现自动调整的,因一个汉字的长度大小约120twip,循环判断datagrid或adodc的各字段的最大字符数 M(i),M是数组
DataGrid1.Columns(i).Width= M(i)*120

如还有问题,这里来找我
http://topic.csdn.net/u/20090917/13/2dccaaaa-6cfb-4a73-81a1-071ba4c53b3e.html?63719