colocar um checkbox na grid, fixo para cada registro.
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
Curtidas 0
Respostas
Paulo Oliveira
28/07/2003
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;
GOSTEI 0