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