13:54

Хвост трубой! Шаг - взлет! Взгляд - навылет да окна - вдребезги!
Доброго времени суток.
Господа, подскажите вот какую вещь.

Delphi 7.
Имеется форма, на которой в DBGrid выводится некая информация из базы, а также имеется поле с галочками для выбора, какие записи анализировать, а какие пропускать. Проблема в сохранении значения с галочкой без обращения к базе (то есть в БД эта информация храниться не должна).
Пытались создавать калькулируемое поле (fkCalculated), но то ли я не умею его готовить, то ли оно и правда нигде значения не хранит, но по логике получаются не галочки, а radiobuttons, то есть отмечается только одна запись.
В общем, есть ли какой-нибудь способ хранения записей, не обращаясь к базе?

@темы: Вопрос, Delphi

Комментарии
14.05.2010 в 15:08

Ну эти галочки все равно придется где-то хранить. А DBGrid и TTable данные хранить не умеют - это просто компоненты для их считывания и визуализации. Данные придется хранить где-то отдельно.

Например, можно использовать компонент MemTableEx из библиотеки EhLib - он считывает всю таблицу в память (наподобие StringGrid, но с сохранением черт TTable). Недостаток - сразу считывается вся таблица, т.е. занимает много памяти.

Можно хранить массив типа boolean и при перерисовки таблицы отображать выделенные строки другим цветом, а при щелчке на строку менять ее выделение. Но тут возникнут трудности, если записи можно сортировать. Придется как-то указывать, какой записи принадлежит каждый элемент массива.
14.05.2010 в 16:55

Хвост трубой! Шаг - взлет! Взгляд - навылет да окна - вдребезги!
mr Gray
Да, мысли с массивом были. Видно, так и придется поступить...

На счет MemTableEx я еще подумаю. Спасибо