![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;