Лена |
Отправлено: 25.09.2006, 12:35 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Пытаюсь отсортировать данные в гриде по колонке code. Ничего не происходит когда выбираю CheckBox1
Что не так?:
CODE |
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked == true)
{
DataModule2->ADOQueryKey->Active = false;
DataModule2->ADOQueryKey->SQL->Clear();
DataModule2->ADOQueryKey->SQL->Add("select * FROM keys ORDER BY code;");
DataModule2->ADOQueryKey->Active = true;
}
}
|
Связь: ADOQueryKey -> TDatasetProvider -> TClientDataset -> TDatasource
|
|
AVC |
Отправлено: 25.09.2006, 13:15 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Что говорит?
Как правилило ; в запросе писать не нужно. |
|
Лена |
Отправлено: 25.09.2006, 13:48 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
QUOTE (AVC @ 25.09.2006, 13:15) | Что говорит?
Как правилило ; в запросе писать не нужно. |
Я пробовала без точки запятой.
Нажимаю на CheckBox1 и ничего не происходит.
Нет ни исключений ни сортировки — просто тишина.
P.S.
Если умышленно сделать ошибку в запросе, то исключение возникает.
Отредактировано Лена — 25.09.2006, 13:53 |
|
Лена |
Отправлено: 25.09.2006, 14:07 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Заработло так:
CODE |
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked == true)
{
DataModule2->ClientDataSetKey->Active = false;
DataModule2->ADOQueryKey->Active = false;
DataModule2->ADOQueryKey->SQL->Clear();
DataModule2->ADOQueryKey->SQL->Add("select * FROM keys ORDER BY code");
DataModule2->ADOQueryKey->Active = true;
DataModule2->ClientDataSetKey->Active = true;
}
}
|
Это вообще корректно? Как-то выглядит не очень. |
|
olegenty |
Отправлено: 25.09.2006, 14:52 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
"ну вы блин даёте" (с)
ADOQuery у тебя — источник для ClientDataSet
визуализируемый набор данных у тебя — ClientDataSet
так чего ж ты от источника данных ждёшь? сортируй ClientDataSet БЕЗ ПЕРЕЗАПРОСА ДАННЫХ С СЕРВЕРА, он обладает соответствующим инструментарием, в частности, св-во IndexFieldNames
|
|
Лена |
Отправлено: 25.09.2006, 15:32 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
>так чего ж ты от источника данных ждёшь?
Вам хорошо, у вас мозги мужские, а мне трудно.
Написала так:
CODE |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
DataModule2->ClientDataSetKey->IndexFieldNames = "code";
}
|
Сортирует.
Почему я не могу заполнить IndexFieldNames в инспекторе объектов.?Там пусто в выпадающем списке. |
|
Миshук |
Отправлено: 28.09.2006, 06:17 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 36
|
QUOTE | Почему я не могу заполнить IndexFieldNames в инспекторе объектов.?Там пусто в выпадающем списке |
Привет. Ну и что что пусто? Записывай туда нужное тебе имя поля и все будет ок.
|
|