我在做一个表时,遇到这种情况,我在数据库中的表的字段名是英文名,所以我在Tdbgrid.columsn里面将每个字段设定成了中文名,而有时不需要显示dbgrid的第一个与第四个字段,我删除时采用的是
Tdbgrid.columsn.delete(0);
Tdbgrid.columsn.delete(2);//因为此时第四个字段已经变为第三个字段,即2。但当我想要恢复时,不知道怎么可以恢复dbgrid.columsn[0],和dbgrid.columsn[2]难道要让我全部清空,然后再逐个添加?这样的法子太笨了啊
Tdbgrid.columsn.delete(0);
Tdbgrid.columsn.delete(2);//因为此时第四个字段已经变为第三个字段,即2。但当我想要恢复时,不知道怎么可以恢复dbgrid.columsn[0],和dbgrid.columsn[2]难道要让我全部清空,然后再逐个添加?这样的法子太笨了啊
dbgrid1.colums[4].visible:=false;
var
i:integer;
begin
for i:=0 to DBGrid1.Columns.Count-1 do //循环查询列
begin
if (Sender AS TCheckBox).Caption = DBGrid1.Columns.Items[i].Title.Caption then //如果列名等于CHECKBOX的名
begin
DBGrid1.Columns.Items[i].Visible := (Sender As TCheckBox).Checked;
Break;
end;
end;
end;为每个Chechbox都添加时间
CheckColumn(Sender);
在控一下该没有问题
为每个Chechbox都添加事件
procedure TStatQueryForm.CheckBox10Click(Sender: TObject);
begin
CheckColumn(Sender);
end;
注意要把各个CheckBox的Caption属性改为和它对应的列的Tittle属性一致