![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить элемент в DBLookupComboBox? [D7, XP]
deras © (2008-04-24 13:37:00)Заполняю DBLookupComboBox записями из таблицы. Как добавить первым в списке DBLookupComboBox элемент типа "Нет значения" с KeyValue=-1, а далее в списке все записи таблицы
Это надо для того, чтоб пользователь мог и не выбрать ничего из списка, а я мог бы сохранить в другую таблицу значение -1, как результат того, что ничего не было выбрано
deras (2008-04-24 15:42:00) [21]
> Sergey13 © (24.04.08 15:23) [16]
Честно говоря, сам не знаю, но когда union all, то почему-то значений 'Нет значения' ровно столько, сколько записей в таблице (наборе данныз)
Понимаю.... резонное замечание с вашей стороны, господа эксперты - "учи матчать" :-)
Sergey13 (2008-04-24 15:23:00) [22]> [14] deras © (24.04.08 15:07)
Интересно почему?
Ega23 (2008-04-24 15:09:00) [23]
ALL
Incorporates all rows into the results, including duplicates. If not specified, duplicate rows are removed.
В твоём случае - без разницы. Просто All - это уже привычка, на автомате вылетает...
deras (2008-04-24 15:07:00) [24]
> Ega23 © (24.04.08 14:31) [7]
позвольте сделать маленькую поправочку...
мне кажеться надо использовать не union all, а просто union
Ega23 (2008-04-24 14:53:00) [25]
> Я имею в виду, что записывать в главную таблицу ничего не
> надо, при НЕ выбранном значении справочника.
А... Я тебя в [9] неточно понял.
Sergey13 (2008-04-24 14:47:00) [26]> [10] Ega23 © (24.04.08 14:42)
Я имею в виду, что записывать в главную таблицу ничего не надо, при НЕ выбранном значении справочника.
deras (2008-04-24 14:47:00) [27]
> Ega23 © (24.04.08 14:31) [7]
> Sergey13 © (24.04.08 14:34) [8]
Так супер! все подходит. Спасибо большое!
Ega23 (2008-04-24 14:42:00) [28]
> Вообще-то классика жанра вроде рекомендует туда ничего не
> записывать, точнее записывать значение NULL.
>
Стандартный DBLookupCombo на null вроде как не позиционируется...
Sergey13 (2008-04-24 14:40:00) [29]> [0] deras © (24.04.08 13:37)
> а я мог бы сохранить в другую таблицу значение
> -1, как результат того, что ничего не было выбрано
Вообще-то классика жанра вроде рекомендует туда ничего не записывать, точнее записывать значение NULL.
Sergey13 (2008-04-24 14:34:00) [30]> [5] deras © (24.04.08 14:18)
> Я так понимаю, должна быть "дежурная" запись в таблице со
> значением "Нет значения" и id=-1 ?
Можно и так, если не мешает. Можно в запросе добавить типа
select * from table
union all
select -1,'Нет значения' from чего-то-такое
можно просто вставить запись в ДАТАСЕТ, не фиксируя изменений в БД.
Ega23 (2008-04-24 14:31:00) [31]
Select -1 as id, 'Нет значения' as Value
union all
Select id, Value from Table1
И не надо ничего выдумывать, "всё уже украдено до нас" (с)
Сергей М. (2008-04-24 14:20:00) [32]
> должна быть "дежурная" запись в таблице
Не в таблице а в наборе данных. Это не одно и то же.
deras (2008-04-24 14:18:00) [33]
> Ты его руками заполняешь что ли?
не руками естств... Я так понимаю, должна быть "дежурная" запись в таблице со значением "Нет значения" и id=-1 ?
> В DBLookupComboBox нет записей
Я имел ввиду записи таблицы
Anatoly Podgoretsky (2008-04-24 14:11:00) [34]> deras (24.04.2008 13:37:00) [0]
В DBLookupComboBox нет записей.
Sergey13 (2008-04-24 14:01:00) [35]> [2] deras © (24.04.08 13:44)
> при каждом заполнении
Ты его руками заполняешь что ли?
deras (2008-04-24 13:44:00) [36]то что, при каждом заполнении DBLookupComboBox добавлять запись?
Sergey13 (2008-04-24 13:40:00) [37]> [0] deras © (24.04.08 13:37)
Добавь в датасет, на который смотрит комбик, такую запись.