db에 미리 저장되어있는 필드 내용을 combobox = combo1에 넣은 내용과
코드상에서 add 하드 코딩한 내용 이 인덱스를 호출하면 표현이 안되는 쪽과 되는 쪽으로 나뉘는데
이유를 모르겟습니다
combo1.index := 1; <<< 이러면 화면에 해당 인덱스의 박스 내용이 나와야 되는뎅
두가지 경우가 다르게 동작합니다
1) db 에서 select 한경우 index를 호출하여도 동작이 안됨
procedure Tfrm_Ureceipt.combo1_set;
var str:string;
mstr:string;
i:integer;
begin
combo1.Clear;
with ADOQuery1 do
begin
sql.Clear ;
str:='select * from tc_code where ds_code=''aa'' and no_code <> ''00'' order by 2';
sql.Add(str);
open;
end;
for i:=1 to ADOQuery1.RecordCount do
begin
mstr:= ADOQuery1.fieldbyname('no_code').asString
+ ' : ' + ADOQuery1.fieldbyname('nm_code').asString;
Combo1.Items.add(mstr);
ADOQuery1.Next;
END;
combo1.ItemIndex := 1 ; < < 여기서 index 호출 X 안됨
end;
2)하드코딩한 combobox의 호출의 경우(잘됨)
procedure Tfrm_selgln.combo1_set;
var mstr:string;
i:integer;
begin
combo1.Clear;
for i:=1 to 5 do
begin
case i of
1:
mstr :='00 : 전 체 조 회' ;
2:
mstr :='01 : 번 호 조 회' ;
3:
mstr :='02 : 코 드 조 회' ;
4:
mstr :='03 : 명 칭 조 회' ;
5:
mstr :='04 : 전 화 번 호 조 회' ;
end;
combo1.Items.Add(mstr);
combo1.ItemIndex := + 1;
END;
combo1.ItemIndex := 0; << index호출 하면 아주 잘됨 O잘됨
end;
내공이 무한하신 고수님의 조언 부탁드립니다.
디비 구성이 어떤지 모르지만 일단 코드는 별 문제 없는 것 같습니다.