Q&A

  • 콤보박스에 중복을 제거하여 리스트에 입력에 문의
고수의 도움이 필요합니다

스트링 그리드에 값이 200개 정도 들어가 있어요

1,1,2,3,4,1,3,4,5,2,3,4,...이런씩으로

이값들을 코딩으로 콤보박스 리스트에 유일한 값(1,2,3,4,5)들만

넣으려는데 무쟈게 많은 숫자가 들어가는군요



combobox.items.add(stringgrid.cells[0,0]); //초기값을 넣고요

for i := 1 to stringgrid.rowcount - 1 do

begin

for j := 0 to combobox.items.count - 1 do

begin

if stringgrid.cells[0,i] <> combobox.items[j] then

combobox.items.add(stringgrid.cells[0,i]);

end;

end;

로직이 잘못되었나봐요

이틀째 고민을 하고 있습니다

2  COMMENTS
  • Profile
    kylix 2001.04.28 19:53
    네~ 로직이 잘못됐군요... IndexOf메소드는 리스트 안에 들어있는 데이터의 인덱스를 알려줍니다. 없으면 -1을 돌려주고요...



    for i := 1 to StringGrid.Rowcount - 1 do

    begin

    if ComboBox.Items.IndexOf( StringGrid.Cells[0,I] ) = -1 then

    ComboBox.Items.Add( StringGrid.Cells[0,I] );

    end;



    Smith wrote:

    > 고수의 도움이 필요합니다

    > 스트링 그리드에 값이 200개 정도 들어가 있어요

    > 1,1,2,3,4,1,3,4,5,2,3,4,...이런씩으로

    > 이값들을 코딩으로 콤보박스 리스트에 유일한 값(1,2,3,4,5)들만

    > 넣으려는데 무쟈게 많은 숫자가 들어가는군요

    >

    > combobox.items.add(stringgrid.cells[0,0]); //초기값을 넣고요

    > for i := 1 to stringgrid.rowcount - 1 do

    > begin

    > for j := 0 to combobox.items.count - 1 do

    > begin

    > if stringgrid.cells[0,i] <> combobox.items[j] then

    > combobox.items.add(stringgrid.cells[0,i]);

    > end;

    > end;

    > 로직이 잘못되었나봐요

    > 이틀째 고민을 하고 있습니다

  • Profile
    Smith 2001.04.28 20:10
    ~