![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBGrid. Прошу прокомментировать ситуацию и дать совет. [D6, XP]
Abcdef123 © (2007-05-31 11:47:00)Есть задача:Отобразить В DBGrid данные запроса из двух таблиц(то есть данные запроса могут быть использованы только на чтение) и на гриде еще добавить колонку типа CheckBox,чтобы пользователь с помощью этого CheckBox мог выбрать из всех записей только те, которые потом пойдут в следующую процедуру ("дальнейшую обработку").
Поскольку запрос только на чтение (что меня вполне устравивает, кроме дополнительно искусственно созданной колонки, конечно), то не знаю как реализовать процесс редактирования этой дополнительной колонки. И вообще, реально ли это как-то сделать в таком подходе, что я пытаюсь осуществить, ведь дополнительная проблема, что эта колонка-то не из реальной таблицы, а я пытаюсь использовать компонент DBGrid, который предназначен работать с базой данных?
PS. Для полноты информации - база данных Advantage, и компонент не TDBGRid, а TdxDBGrid (но в данной ситуации разница не существенна, я думаю)
Заранее спасибо.
Desdechado (2007-06-01 12:53:00) [1]Abcdef123 (01.06.07 04:53) [3]
Колонку чего? Грида? Манипулируй полями датасета. И неплохо бы указать компоненты доступа к данным.
SlymRO (2007-06-01 05:11:00) [2]Оптионс include мультиселект
procedure TForm1.ContactGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with Sender as TDBGrid do
begin
if Column.FieldName<>'Selection' then
DefaultDrawColumnCell(Rect,DataCol,Column,State)
else begin
Canvas.Brush.Color:=Color;
Canvas.FillRect(Rect);
if SelectedRows.CurrentRowSelected then
CheckImgs.Draw(Canvas,Rect.Left,Rect.Top,1)//рисуем чекбоксы
else
CheckImgs.Draw(Canvas,Rect.Left,Rect.Top,0);//рисуем чекбоксы
end;
end;
end;
Abcdef123 (2007-06-01 04:53:00) [3]To Desdechado [2]
Как я уже написала, данные идут из запроса, который содержит обращение к двум таблицам, поэтому изначально этот запрос не допускает ReadOnly=True, и когда я пытаюсь сделать "виртуальную" колонку сделать ReadOnly=False, то просто свойство это даже не меняется.
Desdechado (2007-05-31 14:05:00) [4]1. Всем колонкам ReadOnly, кроме с галкой
2. запретить обработку BeforeDelete, BeforeInsert
Плохиш (2007-05-31 11:54:00) [5]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=168