Я изучал ClientDataSet в delphi и как он может помочь сортировать мою базу данных SQL. Данные отображаются в моем TDBGrid, и я включил сортировку, нажав на заголовок, изменив IndexField для ClientDataset. Я хочу, чтобы это происходило по убыванию, иногда, хотя они пытались использовать 2 IndexNames, описанные здесь. https://stackoverflow.com/a/13130816/4075632Delphi ClientDataSet Сортировка путем изменения IndexName
Однако, когда я меняю IndexName с DEFAULT_ORDER на CHANGEINDEX, все данные в моем DBGrid исчезают. Я довольно новичок в этом, и я знаю, что это будет зависеть от моей ситуации, но каковы некоторые из этих способов, и я попытаюсь устранить их.
У меня есть 1 TSQLConnection, подключенный к TSQLQuery и подключенный к TDataSetProvider и связанный с моим ClientDataSet, который приводит к TDataSource в TDBGrid. Почему ClientDataSet, который обычно вызывает проблемы при изменении имени? Пожалуйста, имейте в виду, что большинство настроек по умолчанию, потому что я не слишком уверен в этих компонентах. Спасибо, я надеюсь, что вы можете оказать некоторую полезную помощь, и я сожалею, что это может быть трудно решить мою ситуацию.
Toby
Спасибо! Почти там, но что такое prevcoI? Im получает необъявленные переменные ошибки. Спасибо –
@TobyFox: prevcol - целочисленная переменная, принадлежащая к форме (забыли об этом). Он сохраняет значение предыдущего выбранного столбца. –
Привет, спасибо. Я уверен, что это сработает, потому что это кажется правильным, но моя таблица базы данных все еще не отображается, и каждый раз, когда я нажимаю на заголовок, я получаю сообщение об ошибке «не может выполнять действие в закрытом наборе данных». Поэтому я полагаю, что моя оригинальная проблема все еще стоит. Данные не отображаются в DBGrid, когда имя CDS - это нечто иное, чем значение по умолчанию. Что я должен проверить? Большое спасибо, Toby –