Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > DBGrid, проблема с прокруткой


Автор: iNDRA 26.3.2009, 00:34
Нужно сделать так, чтобы при скроллинге DBGrid, не менялась выделенная строка.

Автор: Akella 26.3.2009, 01:07
А если прокрутить с нажатой Ctrl или Shift? А если включить ScrollLock на клавиатуре? Точно не могу сказать, т.к. стандартный грид не использую.

Автор: iNDRA 26.3.2009, 08:47
scrolllock, ctrl, shift не помогают. Использую тоже нестандартный грид - DBGridEh. Может посоветуюте еще какой-нибудь сторонний компонент?

Автор: Frees 26.3.2009, 10:02
из доки по EhLib 4.3
"Для согласования scrollbar'а DBGrid использует свойства RecordCount и RecNo компонента DataSet"

поэтому положение скрола жостко связано с текущей записа то что ты хочеш сделать стандартными средствами DBGrid не выдет

либо искать другие сторонние либо переписывать стандартные

Добавлено через 4 минуты и 59 секунд
хотя нет нашел способ сделать так как хочет автор, нужно использовать TMemTableEh тогда грид скролируется не меняя текущей записи

Автор: pseud 26.3.2009, 10:17
Цитата(Frees @  26.3.2009,  10:02 Найти цитируемый пост)
поэтому положение скрола жостко связано с текущей записа то что ты хочеш сделать стандартными средствами DBGrid не выдет

да запросто, только время найти надо.
найду - напишу.
напишу - выложу  smile 


upd: загнался, замечтался, не от том подумал, не то сказал...

Автор: iNDRA 26.3.2009, 12:50
Попробовал memtableeh вроде получилось, но хотелось бы узнать, как правильно использовать memtableeh, т.к. как привязать его к базе через ado, т.к. есть множество вариантов, но какой более правильный не знаю. (например, 
adoconnection -> adodataset -> adodatadrivereh (providerdataset = adodataset)-> memtableeh или 
adoconnection -> adodatadrivereh (с указанием свойства SelectSQL, но каким образом указывать DeleteSQL, UpdateSQL, InsertSQL???) -> memtableeh или
adoconnection -> adodataset -> datasource -> memtableeh (mastersource = datasource))
ЧТО выбрать?

Автор: iNDRA 26.3.2009, 23:42
Еще одна проблема, при использовании memtableeh пропадают полосы прокрутки, когда записи умещаются в видимую область dbgrideh. Как сделать, чтобы они всегда отображались. Установка DBGrid.VertScrollBar.VisibleMode := sbAlwaysShowEh не помогает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)