Q&A

  • StringGrid에 대해서....
알고계신분 부탁드립니다.

메일로 답장을....



스트링 그리드에 DB를 불러오는데....

테이블에서 필드1의 값이 같으면....값을 클리어 시키고

다르면....그리드에 불러오는데....



필드1 필드2-> 필드1 필드2

1 4 1 4

1 5 5

1 6 6

2 7 2 7

2 7 7

3 8 3 8





그런데....잘 안되어서 그럽니다. 꼭 좀 가르쳐 주세요.

2  COMMENTS
  • Profile
    하늘맥 2000.11.06 23:59
    초보 wrote:

    > 알고계신분 부탁드립니다.

    > 메일로 답장을....

    >

    > 스트링 그리드에 DB를 불러오는데....

    > 테이블에서 필드1의 값이 같으면....값을 클리어 시키고

    > 다르면....그리드에 불러오는데....

    >

    > 필드1 필드2-> 필드1 필드2

    > 1 4 1 4

    > 1 5 5

    > 1 6 6

    > 2 7 2 7

    > 2 7 7

    > 3 8 3 8

    >

    >

    > 그런데....잘 안되어서 그럽니다. 꼭 좀 가르쳐 주세요.







    안녕하세요 하늘맥이라고 합니다.

    아마 query 를 구한뒤 처음부터 끝까지 읽어서 스트링그리드에 뿌려주는 모양이죠



    그럼 이렇게 해보세요..



    변수를 하나 선언한뒤

    var : s_prior,s_sql : string;





    s_prior := '';

    StrGrid1.rowcount := 2;

    s_sql := 'Select * from test';

    With Query1 do

    begin

    close;

    Sql.Clar;

    Sql.add(s_sql);

    open;



    First ;

    repeat

    IF s_prior <> FieldByName('Field1').AsString then

    ///전의 레코드랑 필드1이다르면

    begin

    Strgrid1.cells[0,strgrid1.rowcount -1] :=

    FieldByName('Field1').AsString;

    end;

    Strgrid1.cells[0,strgrid1.rowcount -1] := FieldByName('Field2').AsString;

    s_prior := FieldByName('Field1').AsString;

    // 현재 필드1의 값을기억 ->그래야지 다음레코드랑 비교해서

    next;

    StrGrid1.rowcount := StrGrid1.rowcount + 1;

    until Eof;

    end;



  • Profile
    초보 2000.11.07 04:01
    하늘맥 wrote:

    > 초보 wrote:

    > > 알고계신분 부탁드립니다.

    > > 메일로 답장을....

    > >

    > > 스트링 그리드에 DB를 불러오는데....

    > > 테이블에서 필드1의 값이 같으면....값을 클리어 시키고

    > > 다르면....그리드에 불러오는데....

    > >

    > > 필드1 필드2-> 필드1 필드2

    > > 1 4 1 4

    > > 1 5 5

    > > 1 6 6

    > > 2 7 2 7

    > > 2 7 7

    > > 3 8 3 8

    > >

    > >

    > > 그런데....잘 안되어서 그럽니다. 꼭 좀 가르쳐 주세요.

    >

    >

    >

    > 안녕하세요 하늘맥이라고 합니다.

    > 아마 query 를 구한뒤 처음부터 끝까지 읽어서 스트링그리드에 뿌려주는 모양이죠

    >

    > 그럼 이렇게 해보세요..

    >

    > 변수를 하나 선언한뒤

    > var : s_prior,s_sql : string;

    >

    >

    > s_prior := '';

    > StrGrid1.rowcount := 2;

    > s_sql := 'Select * from test';

    > With Query1 do

    > begin

    > close;

    > Sql.Clar;

    > Sql.add(s_sql);

    > open;

    >

    > First ;

    > repeat

    > IF s_prior <> FieldByName('Field1').AsString then

    > ///전의 레코드랑 필드1이다르면

    > begin

    > Strgrid1.cells[0,strgrid1.rowcount -1] :=

    > FieldByName('Field1').AsString;

    > end;

    > Strgrid1.cells[0,strgrid1.rowcount -1] := FieldByName('Field2').AsString;

    > s_prior := FieldByName('Field1').AsString;

    > // 현재 필드1의 값을기억 ->그래야지 다음레코드랑 비교해서

    > next;

    > StrGrid1.rowcount := StrGrid1.rowcount + 1;

    > until Eof;

    > end;

    >



    이렇게 답변해 주신데 대해...감사합니다.

    많은 도움이 되었습니다.

    좋은 하루였길 바랍니다.