자답입니다.
ClientDataSet을 사용하다가 문제가 되었던 것이네요
그래서
procedure TfrmMain.TableViewColumnHeaderClick(Sender: TcxGridTableView;
AColumn: TcxGridColumn);
begin
ClientDataSet1.IndexFieldNames := TableView.Columns[AColumn.Index].DataBinding.FieldName;
end;
이렇게 하니 해결이 됐습니다.
쿠핑 님이 쓰신 글 :
: 안녕하십니까?
: 퀀텀 그리드에대한 질문입니다.
:
: 제목과 같이 cxgrid에서 header를 클릭함으로써 데이터를 재정렬 하고
: 특정 레코드를 선택한 후 그에 대한 컬럼의 값을 뽑아오는 것을 하려고 합니다.
:
: for I:=0 to TableView.DataController.GetSelectedCount - 1 do begin
: k := TableView.DataController.GetSelectedRowIndex(I);
: a[i] := VarToStr(TableView.DataController.GetValue(k, TableViewA.Index));
: b[i] := VarToStr(TableView.DataController.GetValue(k, TableViewB.Index));
: c[i] := VarToStr(TableView.DataController.GetValue(k, TableViewC.Index));
: d[i] := VarToStr(TableView.DataController.GetValue(k, TableViewD.Index));
: end;
:
: 위와 같이 선택한 레코드에 대한 컬럼의 값을 추출하려고 합니다.
:
: 이때 header를 클릭하기전엔 데이터값이 이상이 없이 나타 납니다.
: 하지만 header를 클릭하여 데이터 정렬을 다시하면 선택한 레코드의 값이 초기에 정렬된 값으로 나타납니다.
: 이 그리드에서 기존 값을 기억하고 있는것 같은데 이럴땐 어떻게 하나요???
:
: 답글 부탁드리며 덥고 습해서 짜증이 많이 나는 날인데~~다들 건강유의하십시오..
:
: 감사합니다.
|