首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(1) | 引用(0) | 阅读3081次
VB6 listview SubItems  ListSubItems ColumnHeaders属性

今天同事编程碰到一个奇怪的问题:实时错误:35600 索引超出边界。语句执行到:ListView1.SelectedItem.ListSubItems(1) = "sdfsdf"

几个概念:SubItems 属性 返回或设置一个字符串(子项目)数组,它代表 ListView 控件中 ListItem 对象的数据。ListItem 对象可包含任意数目的关联项目数据字符串(子项目),但每个 ListItem 对象子项目数目必须相同。每个子项目都定义了相关的列标头。无法直接向子项目数组添加元素。使用 ColumnHeaders 集合中的 Add 方法添加子项目 ColumnHeader 对象是 ListView 控件中包含标头文字的项目。ColumnHeaders 集合包含一个或多个 ColumnHeader 对象。 ListSubItems属性 返回对ListSubItem对象的ListSubItems集合的一个引用。

Dim si As ListSubItem
Dim li As ListItem
ListView1.View = lvwReport
For i = 1 To 2
     ListView1.ColumnHeaders.Add Text:="Col " & i, Width:=sngWidth
Next i
For i = 1 To 5
      Set li = ListView1.ListItems.Add(Text:="Item " & i)
      For j = 1 To 4
         'Set si = li.ListSubItems.Add(Text:="Subitem " & j)
         'li.SubItems(1) = ""
      Next j
Next i

如果SubItems不先赋值,那么ListSubItems(1) = "sdfsdf" 就会报错,此时监视 SelectedItem. ListSubItems的COUNT=0;如果先赋值,不论是ListItems.Add还是SubItems(1) = ""
那么后续的赋值就正常。

ListSubItem对象代表ListView控件的一个子项。ListSubItem对象替代了以前版本的ListView控件中的SubItems字符串数组 真是莫名其妙

SubItems 取决于 ColumnHeaders 的出现 ListSubItem 是否存在,以及其数目都取决于 ColumnHeader 对象是否存在、及其数目。也就是说,如果没有 ColumnHeader 对象,就不能创建任何 ListSubItem 对象。进一步说,ColumnHeader 对象的数目,决定了可为 ListItem 对象设置的 ListSubItem 对象的数目。ListSubItem 的数目总是比 ColumnHeader 对象的数目少。这是因为第一个 ColumnHeader 对象总是与 ListItem 对象的 Text 属性相关联,


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/VB6listviewSubItems.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1118044562

2005年6月6日15:56星期一  [Dev开发] 追踪此文的RSS
afs在 2007年12月3日17:38星期一 评论:
Emotion呵呵要

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1790
在线: 14||用户: 2562 [列表]
今日:2159||到访:2671658
Rss:838444||评论:1584

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8