这个功能怎么实现(30分)

  • 主题发起人 devexpress
  • 开始时间
D

devexpress

Unregistered / Unconfirmed
GUEST, unregistred user!
我的dbgrid有二十多列, 全显示在上面会显示不下。 我想通过点击一个按钮,弹出一个

选择菜单,用户只要打勾, 这列就显示, 相反不显示。

这个菜单的项目是dbgrid每一列的title, 而且还有check列

 
菜单20多项也不是好玩的!
动态生成菜单,把Hint属性设为dbgrid的title(菜单可能自动加上快捷键,Caption不好使)
把所有菜单项的单击事件关联一个事件过程
在事件过程中写代码,判断菜单是否被选中,再显示/隐藏列
 
参考下面这个吧,对你会有帮助的。

在DBGRID中动态显示字段问题
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1260183
 
用TVirtualTreeView
 
我的做法是编写一个专门的控制窗体,程序调用他设定,可以设定只读,名称,宽度,显示等
不要向我要代码,很简单的。
 
[8D][8D]
用CheckListBox控件存放 dbgrid每一列的title标题供用户动态选择
当该列复选框被选中时,此列内容在dbgrid表显示,反之不显示.
而且还是动态的,我曾用此开发了一程序,效果非常好.
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
var
i:integer;
begin
for i:=0 to checklistbox1.Count-1 do
dbgrid1.Columns.Visible:=checklistbox1.Checked;
end;
 
同意楼上的
 
顶部