![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в DBGrid ячейку вставить CheckBox [D6, Win2k]
andrey__ © (2005-05-19 15:27:00)Есть DBGrid в котором мне нужно выбрать несколько записей. Для этого я в DataSet завожу доп поле типа Boolean и хочу отображать его а DBGrid в виде CheckBox-са кликнув по которому я хочу снимать или ставить флажок.
Amoeba (2005-05-26 12:19:00) [1]DBGridEh из EHLib великолепно умеет это делать + масса других возможностей.
http://www.ehlib.com/RUS/default.htm
gek (2005-05-26 07:09:00) [2]procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumn; State: TGridDrawState); override;
var
RectBox:TRect;
begin
........
if(Column.Field.CanModify) and (Column.Field.DataType = ftBoolean ) then
begin
RectBox := Rect;
RectBox.top:=Rect.Top + (Rect.Bottom - Rect.Top - 14) div 2;
RectBox.bottom:=Rect.Top + (Rect.Bottom - Rect.Top + 14) div 2;
if Column.Field.Value <> false then
Style := DFCS_CHECKED
else
Style := DFCS_BUTTONCHECK;
Canvas.Brush.Color := clWhite;
Canvas.FillRect(Rect);
DrawFrameControl(Canvas.Handle, RectBox, DFC_BUTTON, Style);
end;
MakedoneZ (2005-05-25 17:29:00) [3]Можно использовать DBCheckBox,указав соответствующий DataSource.
А в DataField указать то поле которое является Boolean типа.
Теперь каждой записи будет соответствовать свой CheckBox,но визуально он будет один.