如何让dbgrid中的各列自动调整宽度? |
尚未結案
|
ffprince
初階會員 發表:66 回覆:62 積分:25 註冊:2003-08-16 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
ffprince您好 DBGrid的各Column的Width其實是由DataSet的欄位DisplayWidth帶出來的,
而這個DisplayWidth值是由資料庫的Schema定義欄位大小時給的, 例如整數是4.
如果資料表的欄位數很多, 一般都會超過DBGrid可視範圍. 所以說, DBGrid的Column寬度由資料表定義決定.
但是若您想用程式碼調整
下面片段程式碼您可以參考看看
var TotalGridDisplayWidth:Integer; procedure TForm1.FormCreate(Sender: TObject); var i:Integer; x:double; begin TotalGridDisplayWidth:=0; for i:=0 to DBGrid1.Columns.Count-1 do begin TotalGridDisplayWidth:=TotalGridDisplayWidth DBGrid1.Columns.Items[i].Width; end; for i:=0 to DBGrid1.Columns.Count-1 do begin x:=DBGrid1.Columns[i].Width / TotalGridDisplayWidth; DBGrid1.Columns[i].Width:=Round((DBGrid1.Width-50)*x); end; end; |
byby1231
一般會員 發表:0 回覆:3 積分:0 註冊:2009-12-01 發送簡訊給我 |
|
byby1231
一般會員 發表:0 回覆:3 積分:0 註冊:2009-12-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |