Здравствуйте.
Хотелось бы запоминать позицию в гриде и возвращаться на нее, после обновления данных, а не на первую. Есть такое свойство? Обычно оно называется BookMark, но тут не нашел. Я новичек в использовании этого компонента. Правильно понимаю, что он больше не разрабатывается?
CRDBGrid1 - запомнить/восстановить позицию
Re: CRDBGrid1 - запомнить/восстановить позицию
Добрый день,
Свойство Bookmark есть у TDataSet. Для сохранения/восстановления позиции вы можете использовать следующий код:
P.S. Да, CRDBGrid больше не разрабатывается, мы исправляем в нем только критически ошибки.
Если Вам необходимо новая функциональность, то Вам придется реализовывать ее самостоятельно.
Свойство Bookmark есть у TDataSet. Для сохранения/восстановления позиции вы можете использовать следующий код:
Код: Выделить всё
var
Bookmark: TBookmark;
procedure SavePos;
begin
Bookmark := MyQuery1.Bookmark;
end;
procedure RestorePos;
begin
if MyQuery1.BookmarkValid(Bookmark) then
MyQuery1.GotoBookmark(Bookmark);
end;
Если Вам необходимо новая функциональность, то Вам придется реализовывать ее самостоятельно.
Re: CRDBGrid1 - запомнить/восстановить позицию
Чудно. А подскажите, пожалуйста еще такой момент - как в этом прекрасном гриде сделать%
1. отображение текста из поля mediumtext. Показывается оно как memo.
2. сделать волшебную кнопку, которая переключала бы режимы грида: показывать кучу текста как ровно столько, сколько влезет в строку или показывать весь текст в строке, даже если строка будет больше, чем сам грид.
Спасибо.
1. отображение текста из поля mediumtext. Показывается оно как memo.
2. сделать волшебную кнопку, которая переключала бы режимы грида: показывать кучу текста как ровно столько, сколько влезет в строку или показывать весь текст в строке, даже если строка будет больше, чем сам грид.
Спасибо.
Re: CRDBGrid1 - запомнить/восстановить позицию
Для отображения текста из таких полей, Вам необходимо в событии поля onGetText присвоить параметру Text значения этого поля как строку:
Код: Выделить всё
procedure TForm14.MyQuery1f_textGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := Sender.AsString;
end;