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

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

Как в 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


Наверх

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