DBGrid的資料加入到ListBox中不重複 |
尚未結案
|
north
一般會員 ![]() ![]() 發表:10 回覆:17 積分:5 註冊:2004-08-06 發送簡訊給我 |
我在DBGrid選取資料後按按鈕ListBox,但是都會重複說,請問要如何讓他不重複呢?我知道要讓他在加入前去比對ListBox的內容有沒有存在,沒有就可以加入,例如我選姓名:陳OO、陳XX,然後按按鈕加入到ListBox,我現在是可以加入,但是都會重複說,我的程式碼如下
procedure TFMail.BitBtn1Click(Sender: TObject); var i,j:integer; begin for i:=0 to DBGrid1.SelectedRows.Count-1 do begin DBGrid1.DataSource.DataSet.Bookmark:=DBGrid1.SelectedRows.Items[i]; for j:=0 to ListBox1.Items.Count-1 do begin if IntToStr(ListBox1.Items.Count)<>ListBox1.Items.Text then begin ListBox1.Items.Add(DBGrid1.DataSource.DataSet.Fields[0].asstring); end; end; end; end;謝謝唷 |
likush
高階會員 ![]() ![]() ![]() ![]() 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
1.你設了Bookmark,卻沒有gotobookmark
2.檢查是否已加入到ListBox裡了,可以用IndexOf來檢查
procedure TFMail.BitBtn1Click(Sender: TObject); var i, j: Integer; s: string; begin if DBGrid1.SelectedRows.Count>0 then with DBGrid1.DataSource.DataSet do begin for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); s:=DBGrid1.DataSource.DataSet.Fields[0].AsString; if ListBox1.Items.IndexOf(s)=-1 then ListBox1.Items.Add(s); end; end; end; |
north
一般會員 ![]() ![]() 發表:10 回覆:17 積分:5 註冊:2004-08-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |