Q&A

  • 콤보 박스 사용할때 궁금한점..???
콤보박스를 사용하는데 화면에는 단순 스트링이 나오고 내부적으로는
그 스트링에 해당되는 코드값을 알아야 합니다.

예를 들면 화면에는 삼성이라고 나오고 내부적으로는 삼성의 코드값으로
다른 쿼리를 한다든가 하는거죠..

전에는 배열을 넉넉하게 하나 생성해서 코드를 순서대로 넣줬었는데.

넘 비효율적인것같아서요.. 고수님들은 이럴때 어떻게 코딩하시나요..?
2  COMMENTS
  • Profile
    KDDG_Jo 2002.08.08 03:08



    전 이런식으로 하거 있읍니다  더 좋은 방법 있나여?

    // 이름과 코드 넣기 함수
    procedure TStringIn(Item:TStrings; CodeItem:TStringList; Query:TQuery; Field1,Field2:string);
    begin
       Item.Clear;
       CodeItem.Clear;
       Query.First;
       while not Query.Eof do
       begin
        Item.Add(Query.FieldbyName(Field1).AsString);
        CodeItem.Add(Query.FieldbyName(Field2).AsString);
        Query.Next;
       end;
    end;



    //[[[[[[[[[[[[사용법]]]]]]]]]]]]]]]

    //코드변수 선언
    StringListCode :TStringList;

    //FormCreate
    StringListCode := TStringList.Create;

    //FormClose
    StringListCode.Free

    //////// ComboBox1와  StringListCode 에 이름과 코드 넣기
    begin
       sSql := ' select * from 테이블';
       // Query1.Open
       TStringIn(ComboBox1.Items, StringListCode, Query1, 'CommName', 'CommCode');
    end;

    ////////// ComboBox1의 선택된 코드 알아내기
    Showmessage(StringListCode[ComboBox1.ItemIndex])
  • Profile
    우소 2002.08.08 05:13
    콤보박스에 아이템을 추가 할때 add 함수를 쓰지 말구
    AddObject 함수를 사용해 보세요..
    팁란에서 사용하는 방법이 있던거 같은데..^^;;