Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.11.2001, 15:55
|
|||
---|---|---|---|
|
|||
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Ситуация такова: имеется DBGrid, в нем пуздой столбец, т.е. не связанный с полем базы данных. Необходимо добавить текст в ячейку грида, то есть так, чтобы он был только на экране, а в базе не сохранялся. Мне тут посоветовали создать вычисляемое поле, но это не катит, потому что в гриде отображается OraQuery, и возникает шняга DataSet Not In Edit Mode. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.11.2001, 08:27
|
|||
---|---|---|---|
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Ну почему же вычисляемое поле не катит? Ещё как катит, только значение для поля нужно задавать в событии OnCalcFields у твоего датасета и всё будет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.11.2001, 15:18
|
|||
---|---|---|---|
|
|||
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Вполне может не катить. Например, если ошибка в исходниках компонентов. Когда не катит, наблюдается у TADODataset, если она CanModify=false. Если очень надо, можно: 1. Снять ReadOnly. Ничего с выборкой не будет, если грид ReadOnly. 2. Покопаться в исходниках компонента. 3. Добавить TClientDataSet и туда сбросить записи. В этом случае вообще можно делать что угодно. Всегда пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2001, 06:36
|
|||
---|---|---|---|
|
|||
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Здравствуйте! Вариант более сложный, чем с вычисляемым полем: У TDBGrid есть такое событие OnDrawColumnCell. Из названия следует, что он возникает, когда требуется перерисовать ячейку. Поэтому 1) Создаем новую колонку (без подцепления поля); 2) В обработчике TDBGrid проверяем, что если у "текущей" колонки нет поля (параметр Column = nil), то через свойство Canvas DBGrid-a и координаты полученные из параметра Rect с использованием метода TextOut, или подобный, отрисовываем текст. Еще более "окольный" путь, это использование обработчика событий OnGetText объекта TField? который позволяет выводить произвольный текст для поля. Именно этот текст (свойство TField.Text) и отображается во всех Data-Aware контролами. Желаю удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2001, 06:38
|
|||
---|---|---|---|
|
|||
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Очепятка: выше вместо Column = nil нужно Column.Field = nil. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.12.2001, 17:10
|
|||
---|---|---|---|
Как добавить текст непосредственно в ячеёку DBGrid? |
|||
#18+
Через обработчик OnDrawColumnCell этого DBGrid-а можно в ячейке чего угодно нарисовать, хоть картинку, хоть тест. Я например в ячейках столбики горизонтальной гистограммы рисую, и ещё сверху надписываю количество процентов (неохота было компоненты для деловой графики подключать для такой маленькой задачки, вот я и воспользовался DBGrid-ом не по назначению). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=58&tablet=1&tid=2120094]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 125ms |
0 / 0 |