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

如何讓combobox的items不顯示相同的項目

答題得分者是:eric039
danielldf
一般會員


發表:44
回覆:60
積分:20
註冊:2003-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-31 17:21:45 IP:218.16.xxx.xxx 未訂閱
我要用combobox顯示一个表中的字段(通过ADOquery),但是有相同的内容(如第一条記錄与第二条記錄的这一字段值都是001,那么在combobox的下拉框中会出現两个001),請教如何只顯示一个呢? 我用的是MS SQL数据庫 發表人 - danielldf 於 2003/10/31 18:44:37
eric039
中階會員


發表:57
回覆:126
積分:51
註冊:2002-11-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-31 19:34:42 IP:211.75.xxx.xxx 未訂閱
您可以在 Query 裡判斷 tempString := ''; while not ADOQuery.eof do begin if tempString <> AdoQuery.FieldByName('No').AsString then Tcombobox.Items.Add := AdoQuery.FirldByName('no').AsString; TempString := ADOQuery.FieldByName('No').AsString; ADOQuery.Next; end; 這樣就可以把重複的寫入 TCombobox 內 前提是 Filed "NO" 必須是排序的 Key(也就是 Order By 'Field' Asc) 這樣是不是可以達到您的要求 Eric Lin
------
Eric Lin
xiaoning79627
初階會員


發表:46
回覆:60
積分:26
註冊:2002-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-01 15:21:52 IP:219.130.xxx.xxx 未訂閱
引言: 我要用combobox顯示一个表中的字段(通过ADOquery),但是有相同的内容(如第一条記錄与第二条記錄的这一字段值都是001,那么在combobox的下拉框中会出現两个001),請教如何只顯示一个呢? 我用的是MS SQL数据庫 發表人 - danielldf 於 2003/10/31 18:44:37
先查询出无重复的数据记录。然后在加入。 如: with Adoquery1 do begin Close; Sql.clear; Sql.Add('Select distinct('字段') from 表'); Open; end; 然后将查询出的数据加入到Combobox的Item中 if not ADOQuery1.IsEmpty then while not ADOQuery1.Eof do begin ComboBox1.Items.Add(ADOQuery1.Fieldbyname('字段').AsString); ADOQuery1.Next; end; 努力,相信会做的更好! 發表人 - xiaoning79627 於 2003/11/01 15:32:53 發表人 - xiaoning79627 於 2003/11/01 15:35:26
系統時間:2024-06-29 17:46:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!