Fórum colocar um checkbox na grid, fixo para cada registro. #171885
28/07/2003
0
Eu fiz uma pesquisa, no resultado da pesquisa veio 25 resgistros, mas so poço processar 10 registros dos 25, como que eu faço pra colocar um check box fixo na grid, para cada registro que aparece na grid tem que aparacer um check box.
Fcremm
Curtir tópico
+ 0
Responder
Posts
30/07/2003
Paulo Oliveira
ai um exemplo meu.
Object DBCheckBox1: TDBCheckBox;
Caption = ´Senior´
DataField = ´Senior´
DataSource = DataSource 1
ValueChecked = ´True´ ou ´sim´
ValueUnChecked = ´False´ou ´nao´
Visible = false
end
Object Table1 : TTable
Databasename = ´alias´
TableName = ´tabela´
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;
Object DBCheckBox1: TDBCheckBox;
Caption = ´Senior´
DataField = ´Senior´
DataSource = DataSource 1
ValueChecked = ´True´ ou ´sim´
ValueUnChecked = ´False´ou ´nao´
Visible = false
end
Object Table1 : TTable
Databasename = ´alias´
TableName = ´tabela´
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)