因为KEY值必须是字符串,你写1234,VB会认为是数字

解决方案 »

  1.   

    解决方法:
    lvlistview.listitems.add(,"P"+trim(str(aNumber)),"test",1,1)
    取KEY值:
    intNum=val(mid(lvlistview.selecteditem.key,2))
      

  2.   

    谢谢tommychim
    但我的key是从数据库中得到的一些值,我根不不知道什么时候会为全数值字符串。
    另外,listItim的SubItem值同样也存在这个问题,而这个我是要显示给用户看的,我总不能加一个"p"吧。
    请教更好的办法。
      

  3.   

    to :happylo(happy)
    您误会了,KEY是内部值,并不显示出来的,你不管从库里取出的是否为数值,只要在前面加一个标志符就可以了
    比如:rs为打开的结果集,包括code,name,tel等信息,如果你只想显示name和tel两项,可以这样
    dim xList as listitem
    set xlist=lvlistview.listitems.add(,"P"+trim(rs("code")),trim(rs("name")),1,1)
    xlist.subitems(0)=trim(rs("tel"))
    如果全部显示,则这样
    set xlist=lvlistview.listitems.add(,"P"+trim(rs("code")),trim(rs("code")),1,1)
    xlist.subitems(0)=trim(rs("name"))
    xlist.subitems(1)=trim(rs("tel"))
      

  4.   

    你说得对,key是内部值,我加上一个字母没关系,但不知您是否发现subitems的值同样也存在这样的问题,而这是需要显示的。
    如:xlist.subitems(0)="1234"
    就不行。这个又怎么解决呢?
      

  5.   

    谁说不可以,subitems显示“1234”肯定没有问题