繁体   English   中英

cxGrid清除窗体上的列关闭

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM