我想显示字段可以自己控制的表,然后查询。
我用了14个复选框(字段13个,一个全部)我想让选择全部的时候字段全显出来,其它的选中几个字段对应的复选框,就表中显示出几个字段,怎么实现比较好,谢谢!
还有,去掉一个字串前面的一个字符怎么去,谢谢

解决方案 »

  1.   

    你是用什么显示呢?是DBGRID吗?那么就根据你的CheckBox的状态来设计某一列是否隐藏!用COPY函数吧!
      

  2.   

    1:最好把所以的字段写到CheckListBox中去实现
    2:COPY函数 如下:S:='XYZ'  caption:=copy(s,2,2);//去掉第一个字符
      

  3.   

    干脆你都查询出来好了!
    1、SELECT * FROM tsgz
       然后,
       if CheckBoxAll.Checked then  //显示全部
       begin
         DBGrid1.Fields[0].Visible := True;    //字段1
         DBGrid2.Fields[1].Visible := True;    //字段2
         ....
       end
       else                         //显示选中的字段
       begin
         DBGrid1.Fields[0].Visible := CheckBox1.Checked;    //字段1
         DBGrid2.Fields[1].Visible := CheckBox2.Checked;    //字段2
         ....
       end;
      

  4.   

    这样的好处是不用每次改变字段都去查询,记录集在本地缓存中,随时显示!如果需要动态生成SQL,那么也不是很难的!无非就是字符串的拼接而已,去除首(尾)的多余的字符,就是用Copy函数好了!
      function Copy(Str: String; Index, Count: Integer): String;
      

  5.   

    谢谢
    gobiz(拔剑容易收剑难)
    muleo(木渔)
    请接分!