[英]cxGrid clear columns on form close
我有一个网格,用于显示一些查询结果(cxGrid1.ActiveLevel.GridView:= cxGrid1DBTableView1;等...)。 在关闭表单时,我也会关闭查询。
但是,最后显示的前几列仍然可见(当我再次返回该表单时)如何消除这些列的痕迹? 当我返回表格时,我想要空白的网格。
编辑:这是我运行的查询:
procedure TForm2.cxRadioGroup1Click(Sender: TObject);
begin
case cxRadioGroup1.ItemIndex of
0: begin
with Form1.UniQuery3 do begin
Close;
sql.Clear;
sql.Add('select * from program_log');
Open;
cxGrid1.ActiveLevel.GridView := cxGrid1DBTableView1;
end;
end;
1: begin
with Form1.UniQuery4 do begin
Close;
sql.Clear;
sql.Add('select * from guests_log');
Open;
cxGrid1.ActiveLevel.GridView := cxGrid1DBTableView2;
end;
end;
end;
end;
调用
cxGrid1DBTableView1.ClearItems;
删除所有列的痕迹,如果我想再次运行查询,这些列将不可用。
完成此操作的最简单方法是创建另一个cxgridlevel> cxGrid1dbtableview。 然后只需在表单显示上调用设置此级别即可:
procedure TForm2.FormShow(Sender: TObject);
begin
cxGrid1.ActiveLevel.GridView := cxGrid1DBTableView3;
end;
由于未分配任何内容,因此网格将显示为空。
调用cxGrid1DBTableView1.ClearItems将删除所有列。 只需在FormClose事件处理程序中调用它即可。 要重新创建列,请调用cxGrid1DBTableView1.DataController.CreateAllItems函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.