如何控制 TDBGrid 只能輸入大寫字母 |
尚未結案
|
anguslin
一般會員 發表:6 回覆:6 積分:2 註冊:2002-09-09 發送簡訊給我 |
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
|
anguslin
一般會員 發表:6 回覆:6 積分:2 註冊:2002-09-09 發送簡訊給我 |
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 各位大大 我的意思是只能輸入英文大寫字及中文 如輸入小寫字自動轉成大寫字 例如TEdit.CharCase:=ecUpperCaseDBGrid好像沒有類似TEdit.CharCase:=ecUpperCase的東東。不過我想到一變通的方法,您可以試試看: procedure TForm1.DBGrid1ColExit(Sender: TObject); begin if Table1.State in [dsInsert,dsEdit] then DBGrid1.SelectedField..AsVariant := UpperCase(DBGrid1.SelectedField..AsVariant); end;~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
cmj
高階會員 發表:15 回覆:242 積分:226 註冊:2002-06-12 發送簡訊給我 |
在DbGridKeyPress事件中處理 procedure TFmACC.Grid1KeyPress(Sender: TObject; var Key: Char); var DG:TDBGrid; FdName:String; FdNameList:string; begin DG:=TDBGrid(Sender); FdName:='['+UpperCase(DG.Columns[DG.SelectedIndex].FieldName)+']'; FdNameList:='[欄位名1][欄位名2][欄位名3][欄位名4]'; //欄名用大寫 if Pos(FdName , FdNameList)>0 then //要轉大寫欄位 key:=UpCase(key); //轉大寫 end; |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 各位大大 我的意思是只能輸入英文大寫字及中文 如輸入小寫字自動轉成大寫字 例如TEdit.CharCase:=ecUpperCase1.既然是使用 DBGRID, 何不在 FieldEditor中針對要處理的 Field設定 editmask 字串就好了, 那在dbgrid中自然會顯示mask規格 2.如果你要小寫轉大寫, 又要接受中文碼, editmask做不到, 因為2byte 規格有些字會被轉碼, 舉例萬字被轉成千, 那就差多了! 要自動轉大寫用 >llllllllll (註l 為 L小寫), 基本上可以接受中文 也接受字母(數字就不行), 詳細請自help 3.也可以用channel兄的用法, 但uppercae 最好改成 AnsiUppercase 因為你要接受字母及中文, uppercase會在中文碼亂轉 |
jason650606
一般會員 發表:0 回覆:1 積分:0 註冊:2005-05-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |