Q&A

  • [질문]OnCanSort 이벤트 질문이요~
그리드가 현재 소팅이 되어있는 상태라서;;

OnCanSort 이벤트를 이용해서

첫번째 컬럼이 소팅이이 안되게 하고싶은데;;

어찌 하면 될까요?

첫번째 해더 컬럼을 눌러도 순서대로 정렬이 안되게 하려구요;;

조언 부탁합니다.^^
3  COMMENTS
  • Profile
    소울해커 2008.10.10 05:29

    후우웁...ㅡ_ㅡ

    스트링그리드에 OnCanSort 이벤트가 있습니까?

    무슨 그리드를 사용하고 계신겁니까?

    첫번째 컬럼의 체크박스는 임의로 생성해서 붙여넣은 겁니까?

    아니면 그리드의 기능을 이용해서 집어넣은 겁니까?

    정렬시에 체크박스가 그리드의 기능으로 집어넣었기에 같이 정렬이 되는겁니까?

    아니면 체크박스는 별도로 만들어넣어서 정렬이 안되는 겁니까?

    정렬 부분을 코딩을 만들어서 정렬을 시키는 겁니까?

    아니면 그리드 자체의 기능으로 정렬을 시키는 겁니까?

    첫번째 컬럼만 눌렀을 경우 정렬이 안되도록 하고 나머지 컬럼은 정렬이 되도록 하고 싶단 겁니까?

    아니면 첫번째건 두번째건 정렬이 안되도록 하고 싶다는 겁니까?

    그것도 아니면 첫번째 컬럼을 눌러도 첫번째 컬럼은 정렬이 안되고 나머지 컬럼은 정렬이 되도록 하고 싶다는 겁니까?

    ...........................................................................................................................

    그외에도 질문을 이해하기 위해 던져야 할 수많은 질문들은 일단 생략하고...

    앞뒤 다 짤라먹고 냅다 정렬 안되게 하고 싶어요 라고만 올려놓으면

    답변하는 사람은 L이라도 된답니까?

    온갖 추리와 상상력을 총 동원하여

    지금 질문하신 분이 처해있는 불명확한 현상황을 명확한 상황으로 추리해 내서

    질문하신 분이 원하는 답변을 달아 드릴 수 있답니까?

    나름대로 스트링그리드라고 해서 이런 해결방안이 있고

    거기서 살짝만 응용하면 마음껏 정렬 하실 수 있겠구나 싶어서 답변을 달았건만

    두번째 질문도 처음 올린 질문과 대동소이하고 그 사이 수정하신 내용을 보니까

    애초부터 스트링그리드에 대한 질문이 아니었다라는 결론까지 내리고 나니 낚시에 낚인 느낌이군요.

    해야할 일이 산더미같이 밀려있는 가운데

    조금이나마 도움이 될까하고 답변을 달았었는데 좀 울컥하고 마음이 상하네요...

    AdvStringGrid1.SortSettings.Show := False;

    하세요...
  • Profile
    델만세 2008.10.11 00:24
    아..죄송합니다..

    제가 질문을 너무 광범위 하게 질문을 한거 같네요..

    지금 델파이를 공부하는 중이라서 이렇게 질문을 하면..

    아시는 분들이 있을까 하는 생각에....

    제 나름대로의 견해로 질문을 했네여...

    이점은...님외에 다른 분들께 죄송합니다..

    질문하는사람이 어떻게 어떤식으로 원하는지를...명확하게 했어야 했는데;;

    저도 잘 모르는 상태라..ㅠㅠ

    이거..부끄럽네요..

    다음부터는 정확하게 어떤걸 어떻게 잘 이해기 안가는지를....

    질문하겠습니다~^^

    다시 질문하면~ 답변해주세여..ㅎ_ㅎ/
  • Profile
    델만세 2008.10.11 00:38
    아..그리고
    이 문제 해결을 했습니다^^;;;

    일단.. TAdvStringGrid를 쓰고 있고요..

    첫번째 컬럼만 정렬이 안되고 다른 컬럼들을 정렬이 되는 문제이고요~

    이벤트를 보니 OnCanSort라는 이벤트가 있더라고요..

    이벤트에서

    procedure TfrmMNGProgramSchedule.grdListCanSort(Sender: TObject;
    ACol: Integer; var DoSort: Boolean);
    begin

    if ACol= 1 then DoSort:=false
    else DoSort:=true;

    end;

    코디을 하니...첫번째 컬럼은 정렬이 안되더라구요..

    보니깐 그리드 전체가 정렬이 되어 있어있더라고여..

    처음부터 이런 식으로 말씀을 드렸어야하는데;;;

    ^^:

    아직초보라;;; 이해좀 많이 해주세여..ㅎㅎ