|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
На форме есть комбобокс, метод init формы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Свойства combo1: Код: sql 1. 2.
Если после запуска формы выбрать произвольное значение в combo1, то команда Код: sql 1.
вернет "C" для случая с новой записью и "N" для случая редактирования. Почему не "N" в обоих случаях ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 10:38 |
|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
faustgreenНа форме есть комбобокс, метод init формы: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Свойства combo1: Код: sql 1. 2.
Если после запуска формы выбрать произвольное значение в combo1, то команда Код: sql 1.
вернет "C" для случая с новой записью и "N" для случая редактирования. Почему не "N" в обоих случаях ?Потому, что никто. похоже, не потревожился об инициализации значением нужного типа в первом случае. В отличие от второго случая. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 11:37 |
|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
Sergey Sizov, Код: sql 1.
решило проблему, просто думал, что Fox сам догадается о типе поля исходя из настроек. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 11:57 |
|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
faustgreenSergey Sizov, Код: sql 1.
решило проблему, просто думал, что Fox сам догадается о типе поля исходя из настроек.Каких настроек? Вы где-то как-то указали ему числовой тип данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 14:06 |
|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
faustgreenпросто думал, что Fox сам догадается о типе поля исходя из настроек. Для объектов FoxPro тип данных задается или по типу поля, указанному в свойстве Object.ControlSource или, если это свойство не указано, явным образом в свойстве Object.Value. Если ни того, ни другого не указано, то тип данных объекта будет использован по умолчанию. Для ComboBox тип данных по умолчанию - это символьный тип данных Для понимания Выпадающий список содержит в себе только и исключительно символьные данные. Вне зависимости от типа полей таблицы-источника. При формировании выпадающего списка данные будут автоматически конвертированы в символьный тип При выборе элемента списка в качестве выбранного значения может быть взято 1. Значение столбца, порядковый номер которого указан в BoundColumn 2. Порядковый номер "строки" в выпадающем списке По умолчанию, если ComboBox.Value символьного типа, то в качестве выбранного значения берется значение столбца, если ComboBox.Value числового типа, то в качестве выбранного значения берется порядковый номер строки Свойство BoundTo = .T. говорит о том, что в любом случае следует взять значение столбца. Даже если ComboBox.Value - числового типа Если взято значение столбца и ComboBox.Value числового типа, то при сохранении выбранного значения произойдет обратная конвертация из символьного типа данных в выпадающем списке в числовой тип --------------------- Это все к тому, что с ComboBox надо быть осторожным. Результат может оказаться отличным от ожидаемого. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 21:34 |
|
Combobox возвращает не тот тип
|
|||
---|---|---|---|
#18+
ВладимирМ, спасибо за развернутый ответ. Некоторых вещей не знал: авторПо умолчанию, если ComboBox.Value символьного типа, то в качестве выбранного значения берется значение столбца, если ComboBox.Value числового типа, то в качестве выбранного значения берется порядковый номер строки Думал, что свойство BoundTo отвечает за то, что будет взято за возвращаемое значение - номер строки или значение столбца. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 23:01 |
|
|
start [/forum/topic.php?fid=41&msg=39757545&tid=1581707]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 330ms |
total: | 454ms |
0 / 0 |