Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как создать таблицу временно? [D7, XP]


Страницы:   1 2

deras ©   (2008-05-23 00:05:00) 

БД FB2.0
Необходимо создать таблицу в процессе работы программы, а потом (скажем, после закрытия программы), удалить эту таблицу?


MsGuns   (2008-05-23 01:06:00) [21]

Да, важно.
Сразу после показа фантома не забыть передать ему фокус !

И еще одни "грабли".
Когда комбобокс виден, а Вы скруллингуете грид, то получите очень некрасивый, все портящий эффект. Чтобы его избежать, есть 2 способа, простой и не очень.

Простой заключается в том, что Вы запрещаете скролы вообще. Но это скорее всего не получится.

Не очень заключается в том, что Вам необходимо отловить само событие начала скроллинга и спрятать комбобокс.


deras   (2008-05-23 01:03:00) [22]


> MsGuns ©   (23.05.08 00:59) [11]


Ого! Я и не думал, что так непросто. Сам бы не догадался :-)
Т.е., комбобокс один, заполненый данными из справочника, просто он вписывается в ячейку, которая в фокусе? Я правильно понял?


MsGuns   (2008-05-23 00:59:00) [23]

С помощью фантом-комбобокса, который делается визибельным при получения фокуса соотв. ячейкой, и предварительно вписанным точно в ректангель ячейки. По выходу из комобокса (или по селекту), выбранное из него значение (если селект) записывается в эту ячейку, а сам комбобокс прячется.
В комбобокс, ессно, предвапительно помещается "справочник"
Перед показом комбобокса можно выставить в нем то значение, которое имеется в текущей ячейке, с помощью IndexOf


deras   (2008-05-23 00:54:00) [24]


> MsGuns ©   (23.05.08 00:54) [9]


Благодарю!


MsGuns   (2008-05-23 00:54:00) [25]

Да.


deras   (2008-05-23 00:49:00) [26]


> Если эти данные нужны только на время одного сеанса, то
> таблиц никаких не надо - достаточно все держать в памяти,
>  а отображать, к примеру, через стрингрид.

Точно! Так совершенно подойдет. Только вопрос: некоторые поля этой "временных данных"  должны содержать дропдаун с данными из таблицы-справочника. Такое можно реализовать? Достаточно будет ответа "да" или "нет". Спасибо


MsGuns   (2008-05-23 00:44:00) [27]

>Loginov Dmitry ©   (23.05.08 00:40) [3]
>И в чем проблема? Используй TIBSQL и конструкцию CREATE TABLE для создания и DROP TABLE для удаления.

Проблемы, действительно, нет. Есть проблемище ;)))


MsGuns   (2008-05-23 00:43:00) [28]

>Loginov Dmitry ©   (23.05.08 00:40) [3]

ИМХО, совершенно лишнее - см. [5]


MsGuns   (2008-05-23 00:42:00) [29]

Если эти данные нужны только на время одного сеанса, то таблиц никаких не надо - достаточно все держать в памяти, а отображать, к примеру, через стрингрид.
Если эти "временные" данные нужно сохранять (например, из-за большого объема и невозможности подготовить их "в один присест"), то вполне подойдет TClientDataSet или даже простой текстовый файл.
Есть вариант сохранения их в самом Экселе (например, на "непечатном" листе, который удаляется после выгрузки результатов в эксель во избежании случайного вывода на печать вместе с основными данными)


deras   (2008-05-23 00:42:00) [30]


> Еще есть "временные" таблицы.

если можно. об этом подробней :-) "Временные" - это какие?


Loginov Dmitry   (2008-05-23 00:40:00) [31]

> Необходимо создать таблицу в процессе работы программы,
> а потом (скажем, после закрытия программы), удалить эту
> таблицу?


И в чем проблема? Используй TIBSQL и конструкцию CREATE TABLE для создания и DROP TABLE для удаления.
Еще есть "временные" таблицы.


deras   (2008-05-23 00:38:00) [32]

это типа подготовочная таблица для отчета В нее (таблицу) пользователь вносить данные (в т.ч. из справочников) перед формированием отчета (отчет форм. в Excel - желание пользователя). После создания отчета, эта таблица не нужна.


MsGuns   (2008-05-23 00:18:00) [33]

Зачем ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо