Q&A

  • StringGrid의 RowMove에 대해서 꼭 좀 부탁드립니다.
답을 주시는 분이 없어서 이렇게 다시한번 올립니다.

꼭 좀 부탁드리겠습니다.





스트링그리드에서 선택된 Row를 원하는 Row로 이동하고 싶은데여...

----------------------------------------------------------------

예를들어...



for i := 0 to StringGrid1.ColCount - 1 do

StringGrid1.Cols[i].Exchange(StringGrid1.Row, 원하는Row);



이건 되는데여...

----------------------------------------------------------------

Exchange말구여 Move라는게 있는데 이게 영 안되네여.

로우를 맞바꾸는게 아니라 옮겨줘야 하거든여.



3  COMMENTS
  • Profile
    최용일 2001.12.10 23:23
    안녕하세요. 최용일입니다.



    아래와 같이 해보세요...



    type

    TProtectedGrid = class(TCustomGrid);



    procedure TForm3.Button1Click(Sender: TObject);

    begin

    TProtectedGrid(StringGrid1).MoveRow(StringGrid1.Row, 원하는 Row Index);

    end;



    ^^ 항상 즐코하세요...



    매일웃자 wrote:

    > 답을 주시는 분이 없어서 이렇게 다시한번 올립니다.

    > 꼭 좀 부탁드리겠습니다.

    >

    >

    > 스트링그리드에서 선택된 Row를 원하는 Row로 이동하고 싶은데여...

    > ----------------------------------------------------------------

    > 예를들어...

    >

    > for i := 0 to StringGrid1.ColCount - 1 do

    > StringGrid1.Cols[i].Exchange(StringGrid1.Row, 원하는Row);

    >

    > 이건 되는데여...

    > ----------------------------------------------------------------

    > Exchange말구여 Move라는게 있는데 이게 영 안되네여.

    > 로우를 맞바꾸는게 아니라 옮겨줘야 하거든여.

    >

  • Profile
    매일웃자 2001.12.11 03:12
    감사합니다.



    아주 잘 됩니다.



    그런데 분명히 Exchange말구 "Move"라는 함수가 있는데



    왜 제대로 되질 않는지 궁금합니다.



    StringGrid의 Move함수는 어떻게 쓰이는지 알고 싶습니다.



  • Profile
    최용일 2001.12.11 19:46
    TStringGrid에는 Move메소드는 없구요... 아마도 Rows, Columns의 Move메소드를 말하시는



    것같은데... Exchange야 단순히 값만 바꾸니까 별 문제 없습니다만... Move는 이전 인덱스의 값을



    삭제한뒤에 새로운 인덱스에 값을 추가시킵니다. 아이템이 하나 삭제되었으니까 스트링그리드는



    자신을 새로 갱신하려고 하겠죠. RowCount/ColumnCount를 이용해서요...



    삭제한 만큼 아이템이 하나 비니까 그곳을 억세스 못해서 에러가 발생하는거죠...



    ^^ 항상 즐코하세요...





    매일웃자 wrote:

    > 감사합니다.

    >

    > 아주 잘 됩니다.

    >

    > 그런데 분명히 Exchange말구 "Move"라는 함수가 있는데

    >

    > 왜 제대로 되질 않는지 궁금합니다.

    >

    > StringGrid의 Move함수는 어떻게 쓰이는지 알고 싶습니다.

    >