![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в DBGrid запихнуть CheckBox?
andreik © (2002-03-01 15:03:00)Как сделать чтобы при просмотре базы в колонке вместо значений выводился CheckBox?
Den_ (2002-03-18 10:40:00) [1]> Nest ©
Есть, 8 мег весит и денег не просит.
DeNNiss (2002-03-18 10:39:00) [2]> Nest ©
Есть, 8 мег весит и денег не просит.
Nest (2002-03-18 09:19:00) [3]Den_
У тебя этот сам Quantum есть? Он денег не просит?
kimblch (2002-03-18 06:11:00) [4]А можно так. и без всяких левых компонент
procedure TdlgEditPayments.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
Var Style : Integer;
Begin
IF Column.FieldName="Погашение" Then
Begin
DBGrid1.Canvas.Brush.Color:=clWhite;
DBGrid1.Canvas.FillRect(Rect);
IF DM1.tTempPaymentsPogash.Value=True
Then Style := DFCS_CHECKED
Else Style := DFCS_BUTTONCHECK;
DrawFrameControl(TDBGrid(Sender).Canvas.Handle, Rect, DFC_BUTTON, Style);
end;
End;
procedure TdlgEditPayments.DBGrid1CellClick(Column: TColumn);
begin
DM1.tTempPayments.Edit;
if DBGrid1.Columns[DBGrid1.SelectedIndex].Field = DM1.tTempPaymentsPogash
then begin
if DM1.tTempPaymentsPogash.Value then DM1.tTempPaymentsPogash.Value:=False
else DM1.tTempPaymentsPogash.Value:=True;
DBGrid1.SelectedIndex:=DBGrid1.SelectedIndex-1;
end;
DM1.tTempPayments.Post;
end;
Den_ (2002-03-01 21:09:00) [5]И еще такая же штучка в Express Quantum Grid Pro - отличная вещь!
TSV (2002-03-01 16:04:00) [6]Эта фича есть в DBGridEh .
Кулюкин Олег (2002-03-01 15:57:00) [7]http://www.delphikingdom.com/helloworld/dbgridcolor.htm
http://www.citforum.ru/programming/advice/advice04.shtml
gek (2002-03-01 15:21:00) [8]
type
TDbaForm = class(TForm)
Table1: TTable;
.....
DBGrid1: TDBGrid;
DBCheckBox1: TDBCheckBox;
....
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
end;
procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (gdFocused in State) and
(Column.Field = Table1Senior) then
begin
DBCheckBox1.SetBounds (
Rect.Left + DBGrid1.Left + 1,
Rect.Top + DBGrid1.Top + 1,
Rect.Right - Rect.Left,
Rect.Bottom - Rect.Top);
end;
end;
procedure TDbaForm.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.Columns [DBGrid1.SelectedIndex].
Field = Table1Senior then
DBCheckBox1.Visible := True
else
DBCheckBox1.Visible := False;
end;
procedure TDbaForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if DBCheckBox1.Visible and (Ord (Key) > 31) then
begin
Key := #0;
Table1.Edit;
DBCheckBox1.Checked := not
DBCheckBox1.Checked;
DBCheckBox1.Field.AsBoolean :=
DBCheckBox1.Checked;
end;
end;
© Copyright Marco Cantu