我用一个DBGrid将查询表后将表中的全部字段显示出来,然后我有设置了跟表中字段字数一样多的CheckBox控件来表示这些字段并且顺序一致,例如CheckBox0的Caption中显示的是第一个字段名,依次下去!我想要实现的功能是当选中部分CheckBox时,点击『确定』按钮,下面的DBGrid控件中自动将没有选中的字段在DBGrid中的Columns动态删除!请大师帮帮忙啊,我自己为解决这个问题想好几天了!

解决方案 »

  1.   

    如果单纯的在dbgrid中不显示可以设置columns的visible属性,如果做物理删除需要使用alter table
    self.DBGrid1.Columns[0].Visible:=false;
      

  2.   

    self.DBGrid1.Columns[i].Visible:=false;
      

  3.   

    呵呵,这个就是控制DBGRID表头显示不显示指定列的问题。就用DBGrid1.Columns[i].Visible来实现。打勾或打叉并确定后,大循环CHECK,小循把DBGrid1.Columns[i].Visible等于false或true就可以了。