Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка по щелчку на заголовке таблицы


И. Павел ©   (2006-12-15 17:18:00) 

Здравствуйте.
Я использую TADOTable и TDBGrid. Для сортировки по выбранному полю,  в обработчике OnTitleClick назначаю это поле индексированным. Для одного числового поля все работает, для другого, тоже числового, выдается ошибка: "аргументы имеют неверный тип, выходящий за пределы диапазона или вступают в конфликт друг с другом". С текстовыми и логическими полями та же проблема. Подскажите, пожалуйста, что я делаю не так.


Sam Stone   (2006-12-15 22:29:00) [1]

> Проблема возникала с полями, имена которых состояли из нескольких
> слов

За такое надо сразу к стенке. Они еще небось по-русски назывались?


И. Павел   (2006-12-15 18:13:00) [2]

ADOKli.Sort := Column.FieldName + 'ASC';
или DESC если по убыванию


Спасибо. Так тоже работает.


И. Павел   (2006-12-15 18:05:00) [3]

Все. Нашел таки ошибку. Проблема возникала с полями, имена которых состояли из нескольких слов. Попробовал заключать из в квадратные скобки - все заработало. Извиняюсь за беспокойство.


stone   (2006-12-15 18:03:00) [4]


> я создаю обработчик события OnTitleClick компонента TDBGrid
> и в нем пишу:
> ADOKli.IndexFieldNames=Column.FieldName;

ADOKli.Sort := Column.FieldName + 'ASC';
или DESC если по убыванию


И. Павел   (2006-12-15 17:47:00) [5]

Я использую базу Access, связь через ADO. База пока содержит только одну таблицу "Клиенты", в ней обязательные для ввода поля: текстовые, числовые и логические. Все поля первой записи заполнены "1", 1 или true, второй - "2", 2 или true. Ключевых полей пока нет. В программе должна иметься возможность сортировки записей по полю, на заголовке которого щелкнул пользователь. Для этого я создаю обработчик события OnTitleClick компонента TDBGrid и в нем пишу:
ADOKli.IndexFieldNames=Column.FieldName;
Ошибка выводится для большинства полей и не выдается только для одного текстового, одного логического и одного строкового поля.


Jeer   (2006-12-15 17:20:00) [6]

На сегодня телепаторы кончились.


Наверх

Титульная страница Поиск, карта сайта Написать письмо