熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

根據表格中的數據長度自動調整表格寬度

2013-11-11 21:06:00  來源: Delphi編程 
    ——此文章摘自《Delphi開發經驗技巧寶典》定價 特價 購買>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

    DBGrid表格列的寬度是根據所連接的字段的長度來決定的由於設計字段長度的時候留有足夠長的空間因此通常情況下在表格顯示數據的時候表格的列寬很大大部分都是空白處這樣在浏覽數據的時候很不方便為了避免這一情況可以考慮根據數據實際數據長度來自動調整表格的寬度如圖所示

http://developcsaicn/delphi/images/jpg>
  根據表格中數據長度自動調整表格寬度

    在自動設置表格寬度文本框中獲取每個字段實際使用的最大字節數然後設置DBGrid表格列的FieldDisplayWidth屬性來根據實際字段長度自動調整表格寬度主要代碼如下
    procedure TFrmOrderByBtnOrderClick(Sender: TObject);
    var
      i: integer;
      fieldname: string;
    begin
      with AQuery do
       begin
         Close;
         SQLClear;
         SQLAdd(SELECT max(datalength(id)) AS id );
         SQLAdd(max(datalength(number))AS number);
         SQLAdd(max(datalength(name))AS name);
         SQLAdd(max(datalength(old))AS old);
         SQLAdd(max(datalength(sex))AS sex);
         SQLAdd(max(datalength(telephone))AS telephone);
         SQLAdd(max(datalength(department))AS department);
         SQLAdd(max(len(joindate))AS joindate);
         SQLAdd(FROM TB_Worker);
         Open;
       end;
      for i := to DBGListColumnsCount do
       begin
         fieldname := DBGListColumns[i]FieldFieldName;
         DBGListColumns[i]FieldDisplayWidth := AQueryFieldByName(fieldname)AsInteger;
       end;
    end;


From:http://tw.wingwit.com/Article/program/Delphi/201311/8495.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.