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

ListView编辑数据的校验问题

尚未結案
Anonimity
一般會員


發表:8
回覆:9
積分:3
註冊:2004-01-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-15 19:17:42 IP:220.173.xxx.xxx 未訂閱
大家好。小弟才疏学浅,又有问题要请教大家。 小弟将数据库的内容导出后,在ListView中进行编辑,修改或增添其内容。对于Item的Caption有一个要求,就是修改后或新添加的内容不能与原有内容重复或为空,经检查合要求后再输入数据库。就如同Windows中的“资源管理器”中修改或新建文件夹,文件夹的命名不能为空或与原有文件名相同一样。 现在小弟的问题是:在ListView中修改或新增时,如何使光标始终停在Caption的编辑窗口中,在Caption内容符合要求之前不能进行其它操作?实现如同“资源管理器”中新建文件夹的功能。 这个问题困扰小弟已久,请指点解决方法。谢谢。 不断学习
------
不断学习
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-17 22:48:25 IP:211.20.xxx.xxx 未訂閱
Anonimity 你好 在ListView的Edited事件中作如下處理
procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;
  var S: String);
begin
  在此檢查程序
  .....
  If (S ­重复或为空 ) Then Begin
    S := item.Caption; // S即為輸入的值
    Item.EditCaption; //再進入編輯狀態
  End;
end;
Anonimity
一般會員


發表:8
回覆:9
積分:3
註冊:2004-01-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-19 13:03:29 IP:220.173.xxx.xxx 未訂閱
谢谢Chance36,因这几天工作繁忙,没来得及回复,请见谅。     这方法我也曾试过,程序如下:    procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;   var S: String); begin   在此檢查程序   .....   If (S ­重复或为空 ) Then Begin     ShowMessage('The Item ' S ' Already in this Project!'); S := item.Caption; // S即為輸入的值 Item.EditCaption; //再進入編輯狀態 End; end; showmessage后,Listview已经失去焦点了,得不到想要的效果。 后找到一个关于Treeview的相近例子,修改为Listview后如愿以偿。只是找得好辛苦...... 现将该例子上传,希望能对遇到相同问题的朋友有所提示,谢谢各位朋友的关心。 //定义用户消息 const WM_EditItem = WM_User 100; //窗体中接受消息 private { Private declarations } procedure WMEditItem(var Message: TMessage); message WM_EditItem; //最后...... procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode; var S: String); var i:Integer; begin with TreeView1 do for i:=0 to Items.Count-1 do begin if (Items[i].Text=S) and (Items[i]<>Node) then begin ShowMessage('The Item ' S ' Already in this Project!'); S := Node.Text; PostMessage(Form1.Handle, WM_EditItem, Integer(Node), 0); Break; end end; end; procedure TForm1.WMEditItem(var Message: TMessage); begin with TTreeNode(Message.WParam) do EditText; end; 不断学习
------
不断学习
系統時間:2024-05-19 5:58:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!