Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как делают фильтр для списка combobox ? Добавлено: 13.08.08 15:59  

Автор вопроса:  sergey
Подскажите как сделать фильтр для списка combobox ?
Надо, чтоб в зависимости от выбранного пункта combobox1 уменьшался список вариантов отображаемых combobox2..

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 13.08.08 16:37
Ну тут в зависимости от реализации есть много вариантов...

Ответить

Номер ответа: 2
Автор ответа:
 sergey



Вопросов: 6
Ответов: 17
 Профиль | | #2 Добавлено: 13.08.08 18:27
Помогите определится, что лучше и как ..

Ответить

Номер ответа: 3
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #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-сайт: houselab.narod.ru
 Профиль | | #6
Добавлено: 13.08.08 19:33
Может лучше юзать TreeView? (ИМХО это будет немного удобнее для пользователя)

Ответить

Номер ответа: 7
Автор ответа:
 sergey



Вопросов: 6
Ответов: 17
 Профиль | | #7 Добавлено: 13.08.08 23:20
не думаю чот для нескольких сотен записей TreeView хорошая идея

Ответить

Номер ответа: 8
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #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
Вот кусок из моего рабочего проекта
На данные не обращай внимания, заменил
от балды

Option Explicit
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'~

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам