PDA

View Full Version : مشکل در کار با Listview



Snoopboy
چهارشنبه 09 آذر 1390, 20:09 عصر
با سلام و خسته نباشید
من یک دکمه برای Load نوشتم و یک جدا کننده هم تعیین کردم مثلا "||"
می خوام که هرچی سمته چپ جدا ساز باشه در ستون 1 و هرچی در سمت راست جداساز باشه در ستون 2 ریخته بشه.
ولی فقط برای ستون دوم میریزه . ممکنه کمکم کنید؟
کد رو میزارم خودتون ببینید.
On Error Resume Next
If LV1.ListItems.Count > 0 Then
Exit Sub
End If
'
Dim tmp As String
Dim X As Integer
'
CD.FileName = ""
CD.CancelError = True
CD.DialogTitle = "Load Spam List"
CD.Filter = "Text files (*.txt)|*.txt|all files(*.*)|*.*"
CD.ShowOpen
If CD.FileName = "" Then: Exit Sub
Open CD.FileName For Input As #1
Do Until EOF(1)
Input #1, tmp
If tmp = "" Then
Else
If X < 1001 Then
DoEvents
If InStr(tmp, "||") Then
LV1.ListItems.Add , , , , 0
LV1.ListItems(LV1.ListItems.Count).SubItems(1) = UCase(Split(tmp, "||")(0))
LV1.ListItems(LV1.ListItems.Count).SubItems(2) = UCase(Split(tmp, "||")(1))
Else:
MsgBox "Wrong delimiter selected!", vbCritical
Close #1
Exit Sub
End If
End If
End If
DoEvents
Loop
Close #1

Mr'Jamshidy
پنج شنبه 10 آذر 1390, 12:36 عصر
اشتباه شما اینجاست

LV1.ListItems(LV1.ListItems.Count).SubItems(1) = UCase(Split(tmp, "||")(0))

اگر لیست شما فقط دارای 2 تا ستون باشه یعنی این که شما فقط یک دونه SubItem داری

کد:
Dim lsvItem As ListItem
lsvItem = LV1.ListItems.Add(, , UCase(Split(tmp, "||")(0)), , 0)
lsvItem.SubItems(1) = UCase(Split(tmp, "||")(1))

رو جایگزین:

LV1.ListItems.Add , , , , 0
LV1.ListItems(LV1.ListItems.Count).SubItems(1) = UCase(Split(tmp, "||")(0))
LV1.ListItems(LV1.ListItems.Count).SubItems(2) = UCase(Split(tmp, "||")(1))


کن ببین چی میشه