Виртуальная библиотека Delphi

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Виртуальная библиотека Delphi: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Виртуальная библиотека Delphi — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

MyTable := TTable.Create( nil);

try

MyTable.DatabaseName := 'MyDB';

MyTable.TableName := 'MyTable.db';

Mytable.IndexName := 'MyIndex';

MyTable.Open;

{ делать то, что надо }

finally

MyTable.Free;

end;

end;

10. Как узнать, какая ячейка при просмотре TDBGrid текущая?

Здесь процедура для сохранения текущего номера строки и колонки. Следующий код в методе MyDBGridDrawDataCell обновляет переменные Col и Row (которые не должны быть локальными для этого метода) каждый раз, когда таблица перерисовывается. Используя этот код, вы можете считать, что Col и Row указывают на текущую колонку и строку соответственно.

var

Col, Row: Integer;

procedureTForm1.MyDBGridDrawDataCell(Sender: TObject; constRect: TRect;

Field: TField; State: TGridDrawState);

var

RowHeight: Integer;

begin

ifgdFocused inState then

begin

RowHeight := Rect.Bottom - Rect.Top;

Row := (Rect.Top divRowHeight) - 1;

Col := Field.Index;

end;

end;

11. Как выделить цветом текущую строку в TDBGrid?

Для TDBGrid в свойстве Options установите dgRowSelect в True .

12. Как изменить цвет ячейки в TDBGrid?

Введите следующий код в обработчике события OnDrawDataCell :

procedureTForm1.DBGrid1DrawDataCell(Sender: TObject; constRect: TRect;

Field: TField; State: TGridDrawState);

begin

ifgdFocused inState then

with(Sender asTDBGrid).Canvas do

begin

Brush.Color := clRed;

FillRect(Rect);

TextOut(Rect.Left, Rect.Top, Field.AsString);

end;

end;

Установите свойство DefaultDrawing в True . Здесь перерисовывается только выделенная ячейка. Если установить DefaultDrawing в False , то вы должны самостоятельно перерисовать все ячейки аналогично примеру.

13. Как узнать, что пользователь перешел на другую запись, например, в TDBGrid?

Переход на новую запись — это событие, которое относится не к визуальному компоненту, а к источнику данных. Соответствующее событие называется OnDataChange и имеется у компонента TDataSource .

14. Как устанавливать собственный цвет или шрифт для столбца TDBGrid?

картинка 49

Выключите property DefaultDrawing , и обрабатывайте событие OnDrawDataCell :

procedureTForm1.DBGrid1DrawDataCell(Sender: TObject; constRect: TRect;

Field: TField; State: TGridDrawState);

begin

ifField.FieldName = 'Name' thenDBGrid1.Canvas.Font.Style := [fsBold];

DBGrid1.DefaultDrawDataCell(Rect, Field, State);

end;

Это приведет к тому, что содержимое столбца 'Name' будет показываться жирным шрифтом.

картинка 50

В Delphi 2.0 вы можете использовать редактор столбцов для той же самой цели.

15. Почему указатель ползунка в TDBGrid не показывает текущее положение в таблице?

Дело в том, что TDBGrid предполагает многопользовательский доступ к таблице. В этом случае другие пользователи этой же таблицы могут добавлять или удалять записи, в результате информация о количестве записей на текущий момент становится неопределенной.

Конечно, в однопользовательском варианте количество записей всегда известно, но поскольку TDBGrid работает через промежуточный источник данных DataSource , ему неизвестен конкретный способ доступа к данным — навигационный или SQL. Например, для SQL существует только один способ узнать количество записей — выполнить специальный запрос с их подсчетом, а на это может потребоваться значительное время.

По всем этим причинам TDBGrid является универсальным средством для просмотра таблиц, которое работает во всех случаях и с любыми источниками данных.

16. Как установить фокус на определенное поле в TDBGrid?

Используйте код:

DBGrid1.SelectedField := Table1SomeField;

DBGrid1.SetFocus;

17. Как создать обработчик события OnClick для TDBGrid?

Как и всякий TControl (иерархия наследования TControl→TWinControl→TCustomControl→TCustomGrid→TCustomDBGrid→TDBGrid ) у TDBGrid есть событие OnClick , но оно protected. Так что можно либо создать новый класс, производный от TDBGrid , в котором объявить это свойство как published, либо использовать другой вариант. Например, вы можете использовать событие OnColEnter .

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Виртуальная библиотека Delphi»

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x