Страница: 1 |
Страница: 1 |
Вопрос: Как делают фильтр для списка combobox ?
Добавлено: 13.08.08 15:59
Автор вопроса: sergey
Подскажите как сделать фильтр для списка combobox ?
Надо, чтоб в зависимости от выбранного пункта combobox1 уменьшался список вариантов отображаемых combobox2..
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 13.08.08 16:37
Ну тут в зависимости от реализации есть много вариантов...
Номер ответа: 2
Автор ответа:
sergey
Вопросов: 6
Ответов: 17
Профиль | | #2
Добавлено: 13.08.08 18:27
Помогите определится, что лучше и как ..
Номер ответа: 3
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #3
Добавлено: 13.08.08 18:59
sergey, чуть - чуть больше подробностей, пожалуйста
Номер ответа: 4
Автор ответа:
sergey
Вопросов: 6
Ответов: 17
Профиль | | #4
Добавлено: 13.08.08 19:16
есть таблица Dbase4 в которую набиваются данные (потом из них будут формироватся отчеты). Данные я решил забивать используя компоненты ComboBox. Мне необходимо заносить в таблицу три поля. Таким образом у меня на форме есть три ComboBox 1 2 3.
В каждом из них есть список с цифрами (номера чертежей - подчертежей -схем) Я также сделал еще три ComboBox 4 5 6 для описания цифр (человеку легче выбирать по описанию). Это описание того что у меня есть пока...
После задания номера чертежа в ComboBox 1 надо, чтобы в ComboBox 2 усекался список номеров подчертежей по фильтру. Фильтр должен включать в себя произвольное количество допустимых чертежей. и соответственно уменьшатся описаний в ComboBox 4 (описания для ComboBox 1)
Номер ответа: 5
Автор ответа:
sergey
Вопросов: 6
Ответов: 17
Профиль | | #5
Добавлено: 13.08.08 19:17
Вопрос - как это сделать ? и другой, а может это можно сделать все правильнее а не как я через ж...
Номер ответа: 6
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #6
Добавлено: 13.08.08 19:33
Может лучше юзать TreeView? (ИМХО это будет немного удобнее для пользователя)
Номер ответа: 7
Автор ответа:
sergey
Вопросов: 6
Ответов: 17
Профиль | | #7
Добавлено: 13.08.08 23:20
не думаю чот для нескольких сотен записей TreeView хорошая идея
Номер ответа: 8
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #8
Добавлено: 15.08.08 22:21
что уж, несколько сотен записей не выдержит? сомневаюсь.
Номер ответа: 9
Автор ответа:
sergey
Вопросов: 6
Ответов: 17
Профиль | | #9
Добавлено: 15.08.08 22:32
дело не в том выдержит или нет ... А в том, что это не удобно для пользователя .. тем более, что мне надо
"После задания номера чертежа в ComboBox 1 надо, чтобы в ComboBox 2 усекался список номеров подчертежей по фильтру. Фильтр должен включать в себя произвольное количество допустимых чертежей. и соответственно уменьшатся описаний в ComboBox 4 (описания для ComboBox 1)"
как это сделать в TreeView не знаю, а в ComboBox уже сделал .. читаю список из dbf файла и заношу все это дело в items для нужного ComboBox
Номер ответа: 10
Автор ответа:
Fatty
Вопросов: 0
Ответов: 55
Профиль | | #10
Добавлено: 16.08.08 01:27
Вот кусок из моего рабочего проекта
На данные не обращай внимания, заменил
от балды
Dim dwgnum As String
Dim dwgname As String
Dim ExtArr() As String
Private Sub ComboBox1_Change()
Dim i, j
dwgnum = ComboBox1.Text
For i = 0 To ComboBox2.ListCount - 1
If ComboBox2.Column(0, i) Like "*" & dwgnum & ".dwg" Then
ReDim Preserve ExtArr(j)
ExtArr(j) = ComboBox2.Column(0, i)
j = j + 1
End If
Next
If Not IsEmpty(ExtArr) Then
ComboBox2.List() = ExtArr
Else
MsgBox "IsEmpty Array"
End If
End Sub
Private Sub ComboBox2_Change()
dwgname = ComboBox2.Text
MsgBox "Selected: " & vbTab & dwgname
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Activate()
Dim i As Long
dwgname = ""
dwgnum = ""
For i = 0 To 3
ComboBox1.AddItem CStr(i + 1)
Next
ComboBox2.AddItem "C:\MyFolder\MyDrawing1.dwg"
ComboBox2.AddItem "C:\MyFolder\MyNextDwg1.dwg"
ComboBox2.AddItem "C:\MyFolder\MyRestDwg1.dwg"
ComboBox2.AddItem "C:\MyFolder\MyDrawing2.dwg"
ComboBox2.AddItem "C:\MyFolder\MyNextDwg2.dwg"
ComboBox2.AddItem "C:\MyFolder\MyRestDwg2.dwg"
ComboBox2.AddItem "C:\MyFolder\MyDrawing3.dwg"
ComboBox2.AddItem "C:\MyFolder\MyNextDwg3.dwg"
ComboBox2.AddItem "C:\MyFolder\MyRestDwg3.dwg"
ComboBox2.AddItem "C:\MyFolder\MyDrawing4.dwg"
ComboBox2.AddItem "C:\MyFolder\MyNextDwg4.dwg"
ComboBox2.AddItem "C:\MyFolder\MyRestDwg4.dwg"
End Sub
~'J'~