線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1426
推到 Plurk!
推到 Facebook!

关于listview 禁止添加重复值怎么做?

缺席
xieeboyzhg
一般會員


發表:10
回覆:2
積分:2
註冊:2009-11-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-16 17:12:35 IP:125.68.xxx.xxx 訂閱
各位前辈.我找了好久都没有找到..能不能给我一个例子?
編輯記錄
xieeboyzhg 重新編輯於 2010-11-16 02:13:04, 註解 無‧
xieeboyzhg 重新編輯於 2010-11-16 02:14:51, 註解 無‧
xieeboyzhg 重新編輯於 2010-11-16 02:16:30, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-11-17 08:34:09 IP:59.120.xxx.xxx 未訂閱
沒有任何需求的解釋...

方法1: 請在新增到ListView時,每一個item都去判斷,假如已有此item就不要新增到ListView中。
方法2: 用個StringList來記錄每個item,在新增到ListView前,先去找看看StringList中有沒有符合的,有的話就不給新增。

===================引 用 xieeboyzhg 文 章===================
各位前辈.我找了好久都没有找到..能不能给我一个例子?
編輯記錄
老大仔 重新編輯於 2010-11-16 17:34:45, 註解 無‧
xieeboyzhg
一般會員


發表:10
回覆:2
積分:2
註冊:2009-11-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-11-17 08:37:47 IP:125.64.xxx.xxx 訂閱

===================引 用 老大仔 文 章===================
沒有任何需求的解釋...

方法1: 請在新增到ListView時,每一個item都去判斷,假如已有此item就不要新增到ListView中。
方法2: 用個StringList來記錄每個item,在新增到ListView前,先去找看看StringList中有沒有符合的,有的話就不給新增。

===================引 用 xieeboyzhg 文 章===================
各位前辈.我找了好久都没有找到..能不能给我一个例子?

前輩,,我是這樣寫的。但是可能邏輯上有問題。您幫我看下?
這樣循環了可以談出提示。但是彈出過後還是要添加到listview裏面。。
我也做了循環跳出了呀?

代碼如下:
try
begin
for i := 0 to listview1.Items.Count - 1 do
begin
if ListView1.Items[i].SubItems.Strings[1] = (Form3.ComboBox1.Text ':' Form3.ComboBox2.Text) then
begin
MessageDlg('时间重复',mtwarning,[mbok],0);
Break;
exit;
end
else
begin
j := ListView1.Items.Count;
ListView1.Items.Add.Caption := Form3.Edit1.text;
listview1.Items[j].SubItems.Add(Form3.Edit2.Text);
listview1.Items[j].SubItems.Add(Form3.ComboBox1.Text ':' Form3.ComboBox2.text);
end;
end;
end;
finally

end;
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-11-17 08:42:14 IP:59.120.xxx.xxx 未訂閱
把break拿掉呢???

===================引 用 xieeboyzhg 文 章===================

===================引 用 老大仔 文 章===================
沒有任何需求的解釋...

方法1: 請在新增到ListView時,每一個item都去判斷,假如已有此item就不要新增到ListView中。
方法2: 用個StringList來記錄每個item,在新增到ListView前,先去找看看StringList中有沒有符合的,有的話就不給新增。

===================引 用 xieeboyzhg 文 章===================
各位前辈.我找了好久都没有找到..能不能给我一个例子?

前輩,,我是這樣寫的。但是可能邏輯上有問題。您幫我看下?
這樣循環了可以談出提示。但是彈出過後還是要添加到listview裏面。。
我也做了循環跳出了呀?

代碼如下:
try
begin
for i := 0 to listview1.Items.Count - 1 do
begin
if ListView1.Items[i].SubItems.Strings[1] = (Form3.ComboBox1.Text ':' Form3.ComboBox2.Text) then
begin
MessageDlg('时间重复',mtwarning,[mbok],0);
Break;
exit;
end
else
begin
j := ListView1.Items.Count;
ListView1.Items.Add.Caption := Form3.Edit1.text;
listview1.Items[j].SubItems.Add(Form3.Edit2.Text);
listview1.Items[j].SubItems.Add(Form3.ComboBox1.Text ':' Form3.ComboBox2.text);
end;
end;
end;
finally

end;
xieeboyzhg
一般會員


發表:10
回覆:2
積分:2
註冊:2009-11-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-11-17 10:19:13 IP:221.236.xxx.xxx 訂閱

===================引 用 老大仔 文 章===================
把break拿掉呢???

===================引 用 xieeboyzhg 文 章===================

===================引 用 老大仔 文 章===================
沒有任何需求的解釋...

方法1: 請在新增到ListView時,每一個item都去判斷,假如已有此item就不要新增到ListView中。
方法2: 用個StringList來記錄每個item,在新增到ListView前,先去找看看StringList中有沒有符合的,有的話就不給新增。

===================引 用 xieeboyzhg 文 章===================
各位前辈.我找了好久都没有找到..能不能给我一个例子?

前輩,,我是這樣寫的。但是可能邏輯上有問題。您幫我看下?
這樣循環了可以談出提示。但是彈出過後還是要添加到listview裏面。。
我也做了循環跳出了呀?

代碼如下:
try
begin
for i := 0 to listview1.Items.Count - 1 do
begin
if ListView1.Items[i].SubItems.Strings[1] = (Form3.ComboBox1.Text ':' Form3.ComboBox2.Text) then
begin
MessageDlg('时间重复',mtwarning,[mbok],0);
Break;
exit;
end
else
begin
j := ListView1.Items.Count;
ListView1.Items.Add.Caption := Form3.Edit1.text;
listview1.Items[j].SubItems.Add(Form3.Edit2.Text);
listview1.Items[j].SubItems.Add(Form3.ComboBox1.Text ':' Form3.ComboBox2.text);
end;
end;
end;
finally

end;
把Break拿掉还是不行..
smallfox
高階會員


發表:2
回覆:113
積分:128
註冊:2003-02-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-11-17 22:25:08 IP:203.67.xxx.xxx 訂閱
應該改成這樣吧 ...

try
for i := 0 to listview1.Items.Count - 1 do begin
if ListView1.Items[i].SubItems.Strings[1] = (Form3.ComboBox1.Text ':' Form3.ComboBox2.Text) then
Break;
end;

//
if (i<=listview1.Items.Count - 1) then
MessageDlg('时间重复',mtwarning,[mbok],0)
else
begin
j := ListView1.Items.Count;
ListView1.Items.Add.Caption := Form3.Edit1.text;
listview1.Items[j].SubItems.Add(Form3.Edit2.Text);
listview1.Items[j].SubItems.Add(Form3.ComboBox1.Text ':' Form3.ComboBox2.text);
end;
finally
.....
end;


shunaaron
高階會員


發表:13
回覆:94
積分:106
註冊:2006-10-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-11-19 12:06:26 IP:123.127.xxx.xxx 訂閱
  ttIndex := Self.ListView1.Items.IndexOf(Edit1.Text);
if ttIndex = -1 then begin
//....
end else begin
ShowMessage('NO');
end;
------
程式沒有這麼難
只是還沒打通其中要絕
系統時間:2024-05-07 14:33:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!