全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1376
推到 Plurk!
推到 Facebook!

TDBGrid 的問題

答題得分者是:Mickey
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-22 17:44:03 IP:61.220.xxx.xxx 未訂閱
為甚麼在TDBGrid裡編輯資料, 它會自動將Cell裡的資料全部select起來, 類似TEdit.AutoSelect := True 的功能, 請問要如何避開這個問題 泓遠
------
泓遠
whyzn
中階會員


發表:46
回覆:149
積分:54
註冊:2002-06-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-22 18:39:31 IP:61.223.xxx.xxx 未訂閱
試試 把 DBGrid1.Options 的 dgAlwaysShowEditor 設為 True ●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛
------
●○○○○○●○○○○○●
竹密不妨水過,山高無礙雲飛
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-23 08:38:24 IP:61.219.xxx.xxx 未訂閱
引言: 為甚麼在TDBGrid裡編輯資料, 它會自動將Cell裡的資料全部select起來, 類似TEdit.AutoSelect := True 的功能, 請問要如何避開這個問題 泓遠
試試 :
type TmpGrid=class(TCustomGrid);    procedure UnAutoSelectGrid(Sender: TCustomGrid);
begin
   if Assigned(TmpGrid(Sender).InplaceEditor) then
     TmpGrid(Sender).InplaceEditor.SelLength := 0;
end;    procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
   UnAutoSelectGrid(TCustomGrid(DBGrid1));
end;
不一定用 OnDrawDataCell Event(不太恰當) ,找看看有沒有比較恰當的 event. /* 使用中文很辛苦,中華男兒當自強 */ 發表人 - Mickey 於 2003/01/23 08:45:40
0316
一般會員


發表:32
回覆:19
積分:10
註冊:2002-07-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-24 17:18:22 IP:61.220.xxx.xxx 未訂閱
Mickey 你好 謝謝你的指導,但 if Assigned(TmpGrid(Sender).InplaceEditor) 的值卻是 False,請多指教 泓遠
------
泓遠
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-27 11:17:02 IP:61.219.xxx.xxx 未訂閱
引言: 試試 把 DBGrid1.Options 的 dgAlwaysShowEditor 設為 True ●○○○○○●○○○○○● 竹密不妨水過,山高無礙雲飛
1. dgAlwaysShowEditor 設為 True. 2. 因為 TCustomGrid.InplaceEditor 是 run-time create, 為避免有當掉(access violation)的風險(端看你 event 呼叫配置), 故 check "Assigned(TmpGrid(Sender).InplaceEditor)" 不可少. /* 使用中文很辛苦,中華男兒當自強 */
系統時間:2024-06-28 19:03:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!