Страница: 1 |
Страница: 1 |
Вопрос: вопрос по Listbox
Добавлено: 20.11.07 12:51
Автор вопроса: KreAtoR
Подскажите решение
Есть ListBox (listFilters) который заполняю данными
For Each f In catlist
listFilters.AddItem f.Name
Next f
после заполнения выбираю нужный мне фильтр
filterName = listFilters.Text
переменную filterName сохраняю.
при новом обращении к listFilters задача чтобы выделился тот фильтр который я использовал.
делаю цикл
For i = 0 To listFilters.ListCount - 1
If listFilters.List(i) = filterName Then
'???????????????????
End If
Next i
нахожу где находится нужный мне фильтр, а дальше незнаю как его выделить. У меня еще галочки ставятся.
подскажите как выделить нужную строку
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #1
Добавлено: 20.11.07 13:32
listFilters.Selected(i) = True
Номер ответа: 2
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #2
Добавлено: 20.11.07 13:37
огромное пасибо ))
Номер ответа: 3
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #3
Добавлено: 20.11.07 13:43
Сразу вопрос в эту тему. вопрос о галочках.
по рпимеру .selected (i) стало ясно что выделенная строка и галочка не совсем одно и тоже.
если ставлю галочку на другой строке, то старая не пропадает. и переменная собственно тоже не меняется.
приходится делать все в три шага.
1. выключить старую галочку
2. включить новую галочку
3. выделить нужную строку
есть ли более простой вариант???
Номер ответа: 4
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #4
Добавлено: 20.11.07 18:08
Установи List1.MultiSelect = 1
и все работает
Dim Filt() As Boolean
'Zapolnjaen List1
Private Sub Command1_Click()
For i = 1 To 20
List1.AddItem String(i, 5)
Next i
ReDim Filt(List1.ListCount)
End Sub
'Use filter button
Private Sub Command2_Click()
Filt(List1.ListIndex) = True
For i = 0 To List1.ListCount - 1
List1.Selected(i) = Filt(i)
Next i
End Sub
Private Sub List1_Click()
For i = 0 To List1.ListCount - 1
If (List1.ListIndex <> i) And (Filt(i) = False) Then List1.Selected(i) = False
Next i
End Sub