請問如何動態控制, 放置在TDBCtrlGrid上面的元件之可視狀態 |
答題得分者是:P.D.
|
JackYang1720
一般會員 發表:1 回覆:1 積分:0 註冊:2007-12-21 發送簡訊給我 |
各位先進:
小弟想動態的控制,放置在TDBCtrlGrid上元件的可視狀態。舉例來說:我在TDBCtrlGird 放置了 3 個 TDBEdit 元件,在某些特定的狀態之下,小弟想隱藏其中某一個 TDBEdit 元件,卻不知如何設計。 小弟曾利用 TDBCtrlGrid 的 OnPaintPanel 事件來處理,效果不是很好,無法很精準控制元件顯示及隱藏的狀況,小弟將程式碼列在下面,請各位先進各位高手不吝賜教, 謝謝! procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid; Index: Integer); begin with DBCtrlGrid.DataSource.DataSet do begin if not Active or IsEmpty then exit; DBEdit1.Visible := FieldByName('Type').AsString = '5'; Label1.Visible := DBEdit1.Visible; Label2.Visible := DBEdit1.Visible; end; end;
------
Hi |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
你要的功能, 在DBCtrlGrid 上似乎做不到, 就目前我所知道的功能上是沒有的, DBCtrlGrid 元件是針對泛用型的元件, 也就是你在CrtlGrid 有五組row, 但你實際設計上只是針對在第一個row上拖放其他db元件, 其他四組則是比照辦理, 也就是第一筆的資料你設定visibie=false , 那其他四組也會跟著為false, 沒有辦法做到在某一個值之上要顯示, 或不顯示, 可能要找看看其他第三方控件有沒有提供這樣的癸花寶典了, 或者這其中還隱蔵"不可說的祕密", 有待其他達人發掘.
|
JackYang1720
一般會員 發表:1 回覆:1 積分:0 註冊:2007-12-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |