标题:[原创]有关于DATAGRID的使用的求助
只看楼主
klren_cn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-1-17
 问题点数:0 回复次数:9 
[原创]有关于DATAGRID的使用的求助
各位仁兄:
本人是个新手,请问:当栅格列长已确定,当栅格内的内容超过设定长度,怎么
才能实现自动换行?
请高手不吝赐教,感激不尽!
搜索更多相关主题的帖子: DATAGRID 栅格 
2007-01-23 15:50
学习VB才2天
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1653
专家分:0
注 册:2006-5-4
得分:0 
if len(datagrid1.text)>伱的列長最多容納的字符 then
datagrid1.text =datagrid.text & vbcrlf
end if

[GLOW=255,DeepPink,3]我的免费网盘[/GLOW]
2007-01-23 16:12
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
没试..不过楼上的方法...换行加在最后...有用吗?
纯属猜测 觉得应该如下:

Lenth = len(trim(Text))
i = 0
if Lenth > MaxLen0 then
Do
Text = left(Text,(i + 1) * MaxLent + i))+ vbcrlf + right(Text,Lenth - MaxLen * (i + 1))
i = i + 1
Lenth = Lenth - MaxLen0
Loop until Lenth <= MaxLen0
end if
...

恩 下班了 没有测试 不知道对不对

2007-01-23 18:16
klren_cn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-1-17
得分:0 
谢谢两位的帮助。
两位的方法我都试了,怎么还是不行?
小弟非常急,请在座的高手们给我指点迷津,将不胜感激!
2007-01-26 12:02
zsolong
Rank: 1
等 级:新手上路
威 望:1
帖 子:193
专家分:0
注 册:2006-12-15
得分:0 

很简单的!!
这边以Text文本框给你一个例子,DataGrid是一样子的(把Text换成DataGrid就可以了)。这里假设单行允许最大长度是10个字符(每一行超过10各字符就换行)
注意:要把属性里面的MultiLine设为True哦!!
我这里用了两个文本框,在txtAdd.Text里面输入字符,把它添加到txtTest.里面实现换行的效果。你做的时候用蓝色字体本分的这个算法就可以了!

Private Sub cmdTest_Click()
Dim strTest As String
Dim strBridge As String

strTest = txtAdd.Text

If Len(strTest) > 10 Then
Do While Len(strTest) > 10
strBridge = strBridge & Left(strTest, 10) & vbCrLf
strTest = Mid(strTest, 11)
Loop
End If

txtTest.Text = strBridge & strTest

End Sub

[此贴子已经被作者于2007-1-26 13:02:35编辑过]


2007-01-26 12:54
klren_cn
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-1-17
得分:0 
谢谢指点,可是我用还是不行,而且datagrid好像没有multiline属性。
还是请大家给我帮助,我实在是弄不出来!
2007-01-26 17:03
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 

你加给datagrid当然不行了!
不管你用的是几楼的方法 都应该加给datagrid的cell才对吧
我记得 vb6的datagrid的列是可以设置成textbox,dropdownlist等形式的控件的


2007-01-26 18:00
wolfzone
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-5
得分:0 
怎么都用VB
2007-04-18 20:46
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
得分:0 
最简单的思路:
Private Sub DataGrid1_Change()
If Len(DataGrid1.Text) > 2 Then
Adodc1.Recordset.MoveNext
End If
End Sub

[此贴子已经被作者于2007-4-18 22:27:02编辑过]


/images/2011/147787/2011051411021524.jpg" border="0" />
2007-04-18 22:25
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
得分:0 
还有..以后求助的贴不要加上原创!

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-04-19 09:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-117692-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.291735 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved