전 상품등록폼을 만들고 있거든요...
디비그리드의 어느 필드를 클릭하면 상품코드테이블에서 상품코드와 상품명을
가져와서 콤보박스에 리스트가 나타나게 되고 리스트중 콤보박스에서 선택을
해도 되고...아님 그 리스트를 보고 제가 직접 입력할수도 있는거죠.
그러니까. 2개의 필드가 하나의 콤보에서 보이는 거져.
---------
00100 ▼ <----- 디비그리드를 클릭하면 콤보박스에 리스트가 나와서
--------- 아래와같이 코드와 코드명이...
-----------------------------|
코드 | 코드명 | <----- 요렇게 밑으로 쫘르륵나오
-----------------------------| 는거죠. ^^;
00100 | ㅁㅁㅁ |
00200 | ㅂㅂㅂㅂ |
. | . |
. | . |
-----------------------------|
요런 형식으로 나오는 거져...
방법좀 알려주세요...
산넘어 산 입니다...이거 해결하면 또 체크박스도 넣어야 하는데...휴~~~
dbLookupComboBox 이거 말구 다른걸 사용해야 하는건지..
사용해두 괜찮다면 어떻게 하는건지 좀 알려주세요.
조금 자세히 알려주심 더욱 감사하구여..
그럼... 정말 좋은 하루 되시구요... 답변기다리겠습니다.
//////////////////////////////////////////////////////////
// 콤보박스에 해당 상품코드-상품명 를 추가한다...
/////////////////////////////////////////////////////////
Function Fa_SetComBo_CodeItem(xCombo:TcomboBox;ls_Group1:String;ls_Group2: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 F010GCD, F010FKN From CL010M@');
xQuery.Sql.Add('Where F010HAK =:pGroup1 and F010JOB =:pGroup2 ');
xQuery.ParamByname('pGroup1').AsString := ls_Group1;
xQuery.ParamByname('pGroup2').AsString := ls_Group2;
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('F010GCD').asstring+'-('+
xQuery.Fieldbyname('F010FKN').asstring+')');
xQuery.Next;
end;
if xCombo.Items.Count > 0 then
xCombo.Itemindex := 0;
xQuery.Free;
Result := True;
Except
// Showmessage('Fa_SetCombo_CodeItem()Error: '+ls_Group+':공통코드항목을 추가할수없습니다!!');
xQuery.Free;
Result := False;
End;
end;
이런식으로 평션을 만들어서 사용하세요..
보시면 쉽게 이해가 갈듯 싶군요...
그럼 즐코...