저는 Delphi에서 ClientDataSet에 대해 배우고 SQL 데이터베이스를 정렬하는 방법을 배웠습니다. 데이터가 내 TDBGrid에서 잘 보이고 있으며 ClientDataset의 IndexField를 변경하여 헤더를 클릭하여 정렬을 활성화했습니다. 여기에 설명 된 2 IndexNames를 사용하려고 시도했지만 때때로 종류에 따라 내림차순으로 만들려고합니다. https://stackoverflow.com/a/13130816/4075632Delphi ClientDataSet IndexName을 변경하여 정렬
그러나 IndexName을 DEFAULT_ORDER에서 CHANGEINDEX로 바꿀 때 DBGrid의 모든 데이터가 사라집니다. 나는이 모든 것에 매우 익숙하며, 그것은 내 상황에 달려 있다는 것을 알고 있지만, 어떤 일이 일어나는 지 알아보고 문제를 해결하려고 노력할 것입니다.
TSQLQuery에 연결된 TSQLConnection이 1 개 있고 TDataSetProvider에 연결된 TSQLConnection이 있고 TDataSource가 TDBGrid로 연결되는 ClientDataSet에 연결된 클라이언트가 있습니다. 이름을 바꿀 때 ClientDataSet이 문제가되는 이유는 무엇입니까? 이 구성 요소에 대해 너무 확신하지는 않기 때문에 대부분의 설정이 기본값이라는 점을 명심하십시오. 감사합니다. 도움이 될만한 도움을 주시고 제 상황을 파악하기가 어려울 수있어서 정말 죄송합니다. 여러분은 여러분의 필요에 그들을 조정할 수 없기 때문에, DEFAULT_ORDER 및 CHANGEINDEX, 당신의 작업에 대한 진짜 쓸모가 있습니다
토비
감사합니다. 거의 다 왔어.하지만 선배는 뭐니? 임은 선언되지 않은 다양한 오류를 받고 있습니다. 감사합니다 –
@ TobyFox : prevcol은 양식에 속한 정수 변수입니다 (잊어 버렸습니다). 이전에 선택한 열의 값을 저장합니다. –
안녕하세요. 나는 그것이 올바르게 보이기 때문에 이것이 효과가있을 것이라고 확신하지만 데이터베이스 테이블은 여전히 보이지 않고 제목을 클릭 할 때마다 "닫힌 데이터 세트에서 작업을 수행 할 수 없습니다"라는 오류가 발생합니다. 그래서 나는 원래의 문제가 여전히 남아 있다고 가정합니다. CDS의 이름이 기본값이 아닐 때 데이터가 DBGrid에 표시되지 않습니다. 내가 무엇을 확인해야한다고 생각하니? 고마워 Toby –