我使用TDBGrid来显示从数据库中取得的表,但是表的字段数目是不确定的,那怎么让TDBGrid自动调整:如果字段长度小于窗体宽度,那么最大化显示TDBGrid,如果字段长度大于窗体宽度,那么则显示水平滚动条?

解决方案 »

  1.   

    dbgrid本来就有这样的功能吧!
      

  2.   

    不需要何任代码来控制,你的问题就是DBGrid的默认设置。
      

  3.   

    把各个列的displayWidth 相加 就能得到像素宽了,在和你的DBGrid 的width 比较不就知道了
      

  4.   

    VAR
       I,
       x  : INTEGER ; //固定长度
    BEGIN
       for I := 0 to DBGrid1.Columns.count -1  do 
         DBGrid1.Columns[i].width ;= DBGrid1.Width div  DBGrid1.Columns.count;    
       if DBGrid1.Columns.count* DBGrid1.Columns[0].width> x then 
        取消滚动条
       else 
        设置滚动条; 
    END;我使用TDBGrid来显示从数据库中取得的表,但是表的字段数目是不确定的,那怎么让TDBGrid自动调整:如果字段长度小于窗体宽度,那么最大化显示TDBGrid,如果字段长度大于窗体宽度,那么则显示水平滚动条?