ComboBox1,ComboBox2가 있는데요....
ComboBox1의 내용은 Items가 (전직원,부서별,직급별) 인데....
ComboBox2의 내용은 ComboBox1이 변할때 마다....
그러니깐 ComboBox1이 전직원이 선택되면 ComboBox2는 공백이고
ComboBox1이 부서별이면 ComboBox2는 DataBase의 특정Table에서 내용을 가지고 와서
ComboBox2 부서에 해당하는 내용을 보여야 하는데요....
그방법을 좀 갈켜 주세요!!! 잘 모르겠습니다..
고수님들 혹시 간단한 소스라도 있으면 좀 부탁드립니다...^^;
그럼 수고하세요!!!
보시게에는 어떨지 모르겠습니다만...
원하시는 답변의 소스 입니다...
일단 평션으로 콤보박스 2를 넘깁니다, 그리고 콤보박스 1의
내용의 일부분만 copy해서 펑션으로 넘김니다...
==> 여기서 일부분은 아마 코드 값이겠죠...
procedure TNS_RSF030R.ComboBox1Change(Sender: TObject);
begin
Fa_SetComBo_NameCodeItem(ComboBox2,Copy (ComboBox1.Text,1,4),True,True);
end;
//////////////////////////////////////////////////////////
// 콤보박스에 영업소에 해당하는사원을 추가한다...
/////////////////////////////////////////////////////////
Function Fa_SetComBo_NameCodeItem(xCombo:TcomboBox;ls_Group1:String;lb_ClearItem:Boolean;lb_DefaultItem:Boolean):Boolean;
var xQuery : Tquery;
begin
// 공통 시스템코드 항목을 추가.
Try
xQuery := Tquery.Create(Application);
xQuery.DataBaseName := DF_Alias_Name;
xQuery.Sql.Add('select F910SAB, F910NAM from CL910M2 ');
xQuery.Sql.Add('where F910DPT =:pGroup1 and F910ODT = 0 ');
xQuery.ParamByname('pGroup1').AsString := ls_Group1;
xQuery.open;
if lb_ClearItem then
xCombo.Items.Clear;
if lb_DefaultItem then
xCombo.Items.Add('전 체');
While Not xQuery.EoF DO
begin
xCombo.Items.Add(xQuery.Fieldbyname('F910SAB').asstring+'-['+
xQuery.Fieldbyname('F910NAM').asstring+']');
xQuery.Next;
end;
if xCombo.Items.Count > 0 then
xCombo.Itemindex := 0;
xQuery.Free;
Result := True;
Except
xQuery.Free;
Result := False;
End;
end;
이렇게 하면 콤보박스 1이 변할때마다 콤보박스2의 내용도
자동으로 변하겠죠...
그럼 소스를 보시면 이해가 갈검니다...
샬롬....