Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Как в DBGrid запихнуть CheckBox? 


andreik   (2002-03-01 15:03) [0]

Как сделать чтобы при просмотре базы в колонке вместо значений выводился CheckBox?



gek   (2002-03-01 15:21) [1]


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



Кулюкин Олег   (2002-03-01 15:57) [2]

http://www.delphikingdom.com/helloworld/dbgridcolor.htm
http://www.citforum.ru/programming/advice/advice04.shtml



TSV   (2002-03-01 16:04) [3]

Эта фича есть в DBGridEh .



Den_   (2002-03-01 21:09) [4]

И еще такая же штучка в Express Quantum Grid Pro - отличная вещь!



kimblch   (2002-03-18 06:11) [5]

А можно так. и без всяких левых компонент

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;



Nest   (2002-03-18 09:19) [6]

Den_
У тебя этот сам Quantum есть? Он денег не просит?



DeNNiss   (2002-03-18 10:39) [7]

> Nest ©
Есть, 8 мег весит и денег не просит.



Den_   (2002-03-18 10:40) [8]

> Nest ©
Есть, 8 мег весит и денег не просит.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.052 c
1-22692           ded_di                2002-03-26 13:53  2002.04.08  
wysiwyg редактор html таблиц


1-22718           Yuri_V                2002-03-26 11:00  2002.04.08  
Как передать в процедуру имя формы?


1-22724           Rammst                2002-03-26 06:54  2002.04.08  
Часы


4-22887           Artem20000            2002-01-31 19:54  2002.04.08  
Копирование файлов с помощью API


3-22599           Grek                  2002-03-18 12:55  2002.04.08  
Возможно ли создание вьевера в IB по объединению данных 2 таблиц с одинаковой структурой ?