請問如何製作:自動感測 TField 中 DisplayLabel 屬性之 TLabel |
尚未結案
|
borland_delphi70
中階會員 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
|
jamests
初階會員 發表:0 回覆:43 積分:28 註冊:2005-01-21 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
jamests
初階會員 發表:0 回覆:43 積分:28 註冊:2005-01-21 發送簡訊給我 |
站長提供的方法也很好.
一個是這個感知元件還有關連元件, 該關連元件就負責顯示DisplayLabel.
一個是這個感知元件就專門顯示DisplayLabel用.
不管怎樣. 從資料感知元件下手會比從TLabel等元件下手方便多了就是了. 而一般經驗上有資料欄位(TDbEdit)附近會放個TLabel來表示該欄位標題(即pair components型態). 改寫TDbEdit, 引入TLabel的方式也許更好表現出成對.
eg. TDbEdit選擇時. 再加工一下讓TLabel也閃一閃之類的. 僅供參考, 希望有所幫助.
|
borland_delphi70
中階會員 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
首先感謝各位先進的幫助。 很抱歉我之前所寫的問題可能不夠詳細! 我用 TDBEditX 連結到 TLable 想要做的功能是當我調整 TField.DisplayLabel 時 TLable.Caption 會被 DataLink 觸發,達成自動更正的效果,就如同我們修改 TField.DisplayLabel 時 TDBGrid.Columns.Column.Title.Caption 會自行更正一般。 我追了 Source 1.在 DBGrid.DrawCell 事件中會觸發 DrawTitleCell 執行 Title 的重繪動作。
2.在 TField.SetDisplayLabel 無法找到觸發 Title 的重繪的動作。
3.在 TGridDataLink 中也無法找到觸發 Title 的重繪的動作。 有點頭大,所以我想要知道的應該是:TGridDataLink 如何通知 Column 依照 Field.DisplayLabel 重新設定 Caption。 最後再次感謝大家熱心的協助,謝謝!
|
jamests
初階會員 發表:0 回覆:43 積分:28 註冊:2005-01-21 發送簡訊給我 |
|
borland_delphi70
中階會員 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
感謝您的協助: 但是這與我要的功能並不相同,因為我會在設定完 DataField 後再去修改 TField.DisplayLabel 如下: begin
vDBEdit1.CaptionLabel:=Label1;
vDBEdit1.DataField:='RSIOA';
Query1.FieldByName('RSIOA').DisplayLabel:='單號';
end; 在此種狀況下 Label1.Caption 即無法自動變更。 無論如何 還是在次感謝您熱心的回覆,謝謝! ^_^|||... 對我而言,程式設計是一場令人興奮又刺激的惡夢
|
jamests
初階會員 發表:0 回覆:43 積分:28 註冊:2005-01-21 發送簡訊給我 |
您好: 依照您的需求:
似乎可以您的vDBEdit1加個Method UpdateDisplayLabel
用法如:
>>begin
>> vDBEdit1.CaptionLabel:=Label1;
>> vDBEdit1.DataField:='RSIOA';
>> Query1.FieldByName('RSIOA').DisplayLabel:='單號';
vDBEdit1.UpdateDisplayLabel
>>end; 我想您需要的是:
改了DisplayLabel就自動Update了.
但在最小修改原則下, 這應該是最easy的方式. 希望有所幫助, 供參考.
|
borland_delphi70
中階會員 發表:8 回覆:50 積分:51 註冊:2002-12-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |