| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 397 人关注过本帖
标题:这个文本框控件数组如何删除一行
只看楼主 加入收藏
chen3bing
Rank: 2
等 级:论坛游民
帖 子:210
专家分:99
注 册:2008-11-12
结帖率:88.52%
  已结贴   问题点数:10  回复次数:5   
这个文本框控件数组如何删除一行

有个界面如上图所示,要求点击任何一个文本框,这一行变绿。
我用控件数组实现了。
现在老板要求选中一行,点击删除可以删掉对应行。
请问高手,如何解决?谢谢!
附件: 您没有浏览附件的权限,请 登录注册
2019-01-18 16:29
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:242
帖 子:4368
专家分:26703
注 册:2008-10-15
  得分:4 
按 ZHRXJR 前面的代码

xx1 是选中那么的行号
取值范围是 从0开始到 6结束,一共7行。

要删除某一行。
Private Sub DH()
dim i as long
for i=xx1 to 5                         '从选中这行始,内容向上移一行,把本行内容给清掉
    text1(i).text=text11(i+1).text
    text2(i).text=text12(i+1).text
    text3(i).text=text13(i+1).text
    text4(i).text=text14(i+1).text
    text5(i).text=text15(i+1).text
next i
text1(6).text=""         '清掉最后一行的内容
text2(6).text=""
text3(6).text=""
text4(6).text=""
text5(6).text=""
call gy()           '防止变色失败,重新给色。
end sub

-----------------------------
前面就建议了,如果是老手,就建议使用一个控件或自定义显示。
如 listview 控件,
添加数据:追加一行,然后给每个字段一个值。
插入数据:插入一行,然后同样给值。
变色:设置整行选择 就可以了。颜色设置选择使用什么颜色。
删除:移除找定行。

表格控件也差不多了。

授人于鱼,不如授人于渔
早已停用QQ了
2019-01-18 17:42
wds1
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:36
帖 子:347
专家分:1840
注 册:2016-3-10
  得分:2 
这种显示,还是用msflexgrid控制好些。

点击某行可以通过row控制,列可以通过col控制,颜色也能控制


2019-01-18 18:31
ZHRXJR
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:89
帖 子:862
专家分:4522
注 册:2016-5-10
  得分:4 
回复 楼主 chen3bing:

2楼 风吹过b 的回复是删除一行文本框的内容,应该是可以的。

但如果要删除一行文本框控件,应该是比较困难的,因为已经放置在界面的控件是不可以删除的。
一个变通的方法可以参考2楼 风吹过b 的回复,但需要修改一下:
Private Sub DH()
dim i as long
for i=0 to 6     '使所有文本框可见
    text1(i).Visible = True
    text2(i).Visible = True
    text3(i).Visible = True
    text4(i).Visible = True
    text5(i).Visible = True
next i
for i=xx1 to 5                         '从选中这行始,内容向上移一行,把本行内容给清掉
    text1(i).text=text11(i+1).text
    text2(i).text=text12(i+1).text
    text3(i).text=text13(i+1).text
    text4(i).text=text14(i+1).text
    text5(i).text=text15(i+1).text
next i
text1(6).text=""         '清掉最后一行的内容
text2(6).text=""
text3(6).text=""
text4(6).text=""
text5(6).text=""
text1(6).Visible = False        '使最后一行不可见
text2(6).Visible = False
text3(6).Visible = False
text4(6).Visible = False
text5(6).Visible = False
call gy()           '防止变色失败,重新给色。
end sub
这种方法只能模拟“删除”一行文本框,不能删除二行及以上。你可以自己研究一下多行的删除方法。
对于文本框可以这样处理,但比较常用的是使用数据显示控件应该更容易实现,删除一行可以彻底删除,删除多行也很容易实现。
2019-01-18 23:32
chen3bing
Rank: 2
等 级:论坛游民
帖 子:210
专家分:99
注 册:2008-11-12
  得分:0 
改用listView搞好了
2019-01-19 08:54
chen3bing
Rank: 2
等 级:论坛游民
帖 子:210
专家分:99
注 册:2008-11-12
  得分:0 
回复 3楼 wds1
你好。你说的那个控件剪切、复制粘贴好使吗?
好不好编辑呢?
2019-01-19 16:53







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

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