如何从另一个组合框加载组合框?

时间:2015-12-03 13:27:28

标签: combobox c++builder

我有一个Combobox列出我的数据库的学校单位。我的代码:

_fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)   {

  QueryUnidade->Close();
  QueryUnidade->Open();

  while (QueryUnidade->Eof == false){
    ComboBoxUn->Items->Add(QueryUnidade->FieldByName("unidade")->AsString);
    QueryUnidade->Next();
  }

}

在我的其他需要组合框中列出与第一个组合框中选择的单位相关联的移位,但没有显示。我的代码如下所示:

void __fastcall TForm1::ComboBoxTurnoChange(TObject *Sender)    {

  QueryTurno->Close();
  QueryTurno->ClearFields();
  QueryTurno->SQL->Add("SELECT DISTINCT TURNO FROM ALUNO WHERE UNIDADE ='"+  (Trim(ComboBoxUn->Text)+"'"));
  QueryTurno->Open();

  while(QueryTurno->Eof == false){
    ComboBoxTurno->Items->Add(QueryTurno->FieldByName("turno")->AsString);
    QueryTurno->Next();
  }
  ComboBoxTurno->Update();

}

1 个答案:

答案 0 :(得分:0)

问题是我的查询应该属于ComboboxUn的Event(在select上),而不属于ComboxTurno。 ComboboxUn的新代码,在comboxTurno中显示结果,就像我想要的那样:

void __fastcall TForm1::ComboBoxUnSelect(TObject *Sender)
{
  QueryTurno->Close();
  QueryTurno->SQL->Add("SELECT DISTINCT TURNO FROM ALUNO WHERE 
  UNIDADE="+QuotedStr(Trim(ComboBoxUn->Text)));
  QueryTurno->Open();

 while(QueryTurno->Eof == false)
 {
    ComboBoxTurno->Items->Add(QueryTurno->FieldByName("turno")->AsString);
    QueryTurno->Next();
  }
}