2015-11-23 47 views
-1

我有一个列表视图框被填充了五个项目。下面是我用来填充它的代码我的代码在这里有问题,有人可以看看吗?

末随着

集RS =什么

我试图做的是让用户选择多个项目,拼接的项目(有一个逗号)并将它们插入到表中。这里是我尝试获取所选项目并连接它们的代码(我构建了一个函数),但问题是,它需要其中一个项目,并将它连结三次(当在listview中选择三个项目时)。我显示标签并保存ID,所以当listview被加载时,ID的顺序是10,11,12,13,14。在我的最后一次尝试中,我选择了前三项,并将其转换为(13,13,13)。我如何解决它?我知道它

dim x As Integer 
Dim mystring As String 
For x = 1 To lvwExpenditures.ListItems.Count 
If lvwExpenditures.ListItems(x).Selected = True Then 
    If x = 1 Then 
    mystring = lvwExpenditures.SelectedItem.SubItems(1) 
    Else 
     mystring = mystring & "," & lvwExpenditures.SelectedItem.SubItems(1) 
    End If 
Else 

End If 
Next x 
+0

您使用的是循环相同的一个小问题:'lvwExpenditures.SelectedItem.SubItems(1)'你可能要像从IF:'lvwExpenditures.ListItems(X ).SubItems(1)' – Plutonix

+0

Working。我看到的问题有时候是,如果我选择中间项目(比如11,12),我会在11之前看到一个逗号。所以当我查看服务器时,它看起来像这样“,11,12” – barry17

+0

任何人都知道如何与分离器一起工作。我从服务器拉回数据,试图取出逗号,并显示在列表视图中选择了哪些项目。代码我看起来像这样x = g_RS!Expenditures fields()= split(x,“,”)。这需要逗号但我不知道如何使列表视图 – barry17

回答

0
dim x As Integer 
Dim mystring As String 
dim sep as string 
sep=", " 

For x = 1 To lvwExpenditures.ListItems.Count 
    If lvwExpenditures.ListItems(x).Selected Then 
     mystring = mystring & lvwExpenditures.ListItems(x).SubItems(1) & sep 
    End If 
Next x 

if mystring<>"" then 
    mystring=left(mystring,len(mystring)-len(sep) 
end if 
+0

谢谢,作品非常棒! – barry17

+0

@ barry17,你可能想接受我的回答,我会感激 – milevyo

相关问题