請教「將一個欄位所有的值複製到ComboBox」的問題 |
答題得分者是:tech_state
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
gemi0305, 您好
有沒有試過使用TDBLookupComboBox這個元件?應該可以符合您的需求。
設定以下幾個屬性
(1)ListSource = Grid的DataSource
(2)ListField = 要顯示的欄位名稱
(3)KeyField = 要顯示的欄位名稱(這個屬性原本應該是要搭配DataField使用的,如果您沒有使用DataField的話,還是要設定此屬性,但是選擇任何一個欄位皆不影響List出來的欄位值) =================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
gemi0305, 您好
終於確實了解您的需求了。
您的方法確實很不錯,但就如您所說的,若遇到沒有同步更新的話,就慘了。
我這邊有個想法供您參考看看。 全域變數:
bool IsUpdate;
// Table1表示DBGrid所連結的Table
void __fastcall TForm1::ComboBox1DropDown(TObject *Sender)
{
if(!IsUpdate)
return;
ComboBox1->Items->Clear();
Table1->First();
while(!Table1->Eof)
{
ComboBox1->Items->Add(Table1->FieldByName("city")->AsString);
Table1->Next();
}
IsUpdate = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Table1->First();
while(!Table1->Eof)
{
ComboBox1->Items->Add(Table1->FieldByName("city")->AsString);
Table1->Next();
}
IsUpdate = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Table1AfterPost(TDataSet *DataSet)
{
IsUpdate = true;
}
//--------------------------------------------------------------------------- 這樣比較不會有同步更新的問題,
但是還是存在一個問題,就是若您的Table1有更新,而您又還禁止grid做bookmark的動作,這樣就會有問題。
並不是一個很好的方法,或許提出這樣的想法可以引起您或其他前輩有更好的方法。 =================================
涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。
是非終日有,不聽自然無
天下本無事,庸人自擾之
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |