Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Checkbox в DBGrid


Oops ©   (2003-08-18 11:02:00) 

Здравствуйте,

подскажите пожалуйста как вставить Checkbox в DBGrid для редактирования булевого значения ячейки Не хочется для етого использовать EhLib.
Написал DBGrig.onDrawTableCell (точно не помню название) и прорисовка нормально идет. А когда фокус попадает в ето поле для редактирования то появляется обычное текстовое поле для редактирования. Может гдето нужно перекрыть редактор ячейки?

Заранее спасибо


Oops   (2003-08-18 15:58:00) [1]

Спасибо всем


Nikolay M.   (2003-08-18 13:57:00) [2]

У меня везде вот так:

procedure TfFirmManager.dbgFirmManagerColEnter(Sender: TObject);
begin
if (dbgFirmManager.SelectedField.FieldName = "enabled") then
dbgFirmManager.Options := dbgFirmManager.Options - [dgEditing]
else
dbgFirmManager.Options := dbgFirmManager.Options + [dgEditing];
end;


Vlad   (2003-08-18 13:12:00) [3]

Не лень тебе свой InplaceEditor писать ?
Лучше на событие OnColEnter, при попадании в нужное поле, просто отключай стандартный InplaceEditor. См. DBGrid.Options - [dgEditing] по-моему


Oops   (2003-08-18 11:25:00) [4]

Нашел один вариант для inplace edit. Будет ето правильным решением?

if (Column.Field.FieldName = "DATE_") and (gdSelected in State) then
begin
inplDateEdit.Left := (Sender as TDBGrid).Left + Rect.Left + 3;
inplDateEdit.Top := (Sender as TDBGrid).Top + Rect.Top + 2;
inplDateEdit.Width := Rect.Right - Rect.Left;
inplDateEdit.Height := Rect.Bottom - Rect.Top - 4;
inplDateEdit.Text := Column.Field.AsString;
inplDateEdit.Visible := True;
end
else
begin
inplDateEdit.Visible := false;


Наверх

Титульная страница Поиск, карта сайта Написать письмо