Клиент хочет создать приложение, похожее на электронную таблицу, для отображения данных из базы данных (предположительно, в TDbGrid или аналогичной системе), позволяющее осуществлять бесплатный поиск и редактирование всех ячеек, как это делается в рабочей таблице. Базовая таблица будет иметь более 100 тыс. Строк.
Проблема с использованием TClientDataset заключается в том, что он имеет тенденцию загружать все данные в память, нарушая реквизиты пользователя, а именно 3:
Пользователь сможет перемещаться от первой к последней записи в любой момент, используя полосу прокрутки, клавиатуру или фильтр поиска (обратите внимание, что TClientDataset загрузит все записи, если вы перейдете к последней записи, AFAIK ...).
Соединение будет осуществляться через внешний VPN / интернет (возможно, медленный), поэтому только должны быть загружены реальные видимые записи на экране. Никогда все .
Выпуски должны храниться в транзакции , чтобы их можно было зафиксировать или откатить в конце, а при необходимости согласовать.
Можно ли выполнить эти 3 пункта, используя TClientDataset?
Если нет, каковы альтернативы?