如何以程式碼方式動態指定DBGRID的欄位數、欄位寬度? |
尚未結案
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
方式如 http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=84605
===================引 用 文 章=================== 各位前輩和版主大人: 想請教除了設計時期以手動滑鼠點選DBGRID物件,點選所要顯示的欄位和欄寬外 要如何以指定資料來源下達QUERY SQL CODE後,以程式碼的方式動態指定要顯示的欄位 項目,因為目前一指定資料來源,DBGRID都會捉取全部的欄位,有些欄位並不想顯示, 不知道要怎麼以程式調整? 懇請前輩指導,萬分感謝!
------
將問題盡快結案也是一種禮貌! |
blude
一般會員 發表:2 回覆:1 積分:0 註冊:2004-04-13 發送簡訊給我 |
|
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
|
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
===================引 用 文 章=================== 前輩: 我的意思是我要捉取字段1,字段2,字段3,字段4 這幾個的欄位寬度,然後由程式自己去調整要顯示的寬度,如excel的調整欄寬! 這麼晚才回應您!真是對不起! ===================引 用 文 章=================== 顯然你沒有在 GDBRID 中產生 Columns (要顯示的欄位), 你說東西都可以在Columns 中調整(design or run time)
------
將問題盡快結案也是一種禮貌! |
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
試試看這是不是您要的:
(1) 自定 Procedure, 參數: TDBGrid, TQuery 等, 依 TQuery 之 Fields 之 FieldType 取 String 之 Length 或 Float 之 Precision (較難決定長度)等, 依 Canvas.Font.Width * Length 4 逐一設定 TDBGrid.Column[i] 之 Width. (2) TDBGrid.TDataSource 之 AfterOpen() 時, 呼叫您的自定 Procedure. (3) 我是直接繼承 TDBGrid, 並參考 Tzebdbgrid.pas, 改寫 TMyDBGrid, 直接於其內部處理, 且一併考慮 Title 之 Width 與特定 Column 指定 Color, 並依特定 Column 之值改變整 Row 之 Color 等, 也用 TStrings 為各數值欄設定其各自的長度. 您或許可考慮依您需求, 自製您的 TDBGrid. ===================引 用 文 章=================== 感謝您的回應!我的意思是我想捉取資料庫欄位的大小設定,自動去設定dbgrid欄寬的,但是我是想說能不能寫一個函數 自動調整dbgrid的寬度大小,還有避免使用者自己去調正寬度!?? 不知道這樣的想法是否能達成! |
g9221712
高階會員 發表:145 回覆:344 積分:162 註冊:2006-07-06 發送簡訊給我 |
我採用的方式是,取得資料庫內的實體長度後,換算大約的物件顯示寬度!
for i := 0 to Self.Datasource.DataSet.Fields.Count - 1 do begin if Self.Datasource.DataSet.Fields.Fields[i].FieldName = aField then begin xxxxx := 7 * (Self.Datasource.DataSet.Fields[i].Size); end; end;
------
「人們所以覺得寂寞,是因為他們會築牆,卻不會搭橋。」 程式寫的越久,卻發現自己越來越不會寫程式! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |