Проблемы с Value Lists

Создание, использование компонентов ActiveX
gamazin
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.10.2004 (Чт) 13:40
Откуда: Donetsk

Проблемы с Value Lists

Сообщение gamazin » 14.10.2004 (Чт) 14:01

Если кто знает, помогите пожалуйста :cry: . Очень долго бьюсь над проблемой. Я пользуюсь Янус грид.
Мне нужно, чтобы в поле был комбобокс, и в нем отображались не все элементы из рекордсорса а некоторые,
отобранные по признаку. Для этого я скрываю все элементы, отбираю нужные из них и появляю их. Вот тут
и начинаются бока: выбираем нужное значение, пока все нормально. А на AfterColUpdate это значение само меняется на другое, иногда
следующее из списка отображаемых, а иногда и другое. Как это побороть. Заранее спасибо.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.10.2004 (Чт) 19:00

Если у тебя источник - ADODB Recordset, то в нем пользуйся свойством Filter - оно быстрее и надежнее.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 15.10.2004 (Пт) 11:58

Я для таких целей пользовал колонку с EditType = jgexEditCustom. В которую вставлял заполненый нужными значениями обычный ComboBox.

Рекомендую.

Хотя у JSValueItem есть свойство Visible - и, по идее, можно было бы пользовать его, но что-то оно у меня не пошло. Вроде глюк, который в последней офицальной версии не исправили. А может я тогда в чем-то ошибся... Давно это дело все-же было, когда пробовал...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 15.10.2004 (Пт) 12:00

Да, в примерах смотри в папке: C:\Program Files\Janus Systems Components\Janus GridEX 2000\Samples\Custom Edit\
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

gamazin
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.10.2004 (Чт) 13:40
Откуда: Donetsk

Сообщение gamazin » 15.10.2004 (Пт) 12:35

Извиняюсь... Вот код. Это процедура, в которую передаются Валюе лист objVL, рекордсорс rstS с которым потом сравниваем валюелист, имя поля рекордсорса strFielfdName

With frmATrans.grdATrans
For i = 1 To objVL.Count
objVL.Item(i).Visible = False
Next
If Not (rstS.BOF And rstS.EOF) Then
rstS.MoveFirst
End If
For i = 1 To objVL.Count
If objVL.Item(i).Value = 0 Then objVL.Item(i).Visible = True 'Не трогаем обязательный (для смысла) элемент
If Not (rstS.BOF And rstS.EOF) Then
rstS.MoveFirst
End If
Do Until rstS.EOF
If objVL.Item(i).Value = rstS.Fields(strFieldName).Value Then
objVL.Item(i).Visible = True
End If
rstS.MoveNext
Loop
Next
End With

Здесь просто фильтр не катит, нужно менять валюе лист в зависиомости от значения предыдущей ячейки в строке.


Вернуться в Компоненты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList