Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 14.02.2011
Сообщений: 153
1

Очистка компонентов по событию

14.05.2012, 12:52. Показов 906. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте все!

Мне нужна помощь в реализации некоторых действий, если это возможно:
1. Есть edit, там прописан текст поиск. Как сделать так, чтоб при щелчке мышкой по edit'у текст выделялся или удалялся (очищать edit я знаю, а как при щелчке мышки не в курсе);
2. На форме есть PageControl, две страницы и на каждой из них DBGird, а также общая Query. Как сделать, чтоб при переключении на 2-ю DBGird2 очищался, а при переключении на 1-ю DBGird1 показывал базу данных (тут можно использовать активацию Query, но как и в предыдущем примере не знаю как обратиться);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2012, 12:52
Ответы с готовыми решениями:

Очистка Panel от компонентов
Суть проги в том, что принажатии на кнопку создаются на панели компоненты, при нажатии на другую...

Очистка всех компонентов формы сразу
проблема такая перехожу с основной формы на дочернюю заполняю и возвращаюсь обратно на основную,...

Очистка timeout по событию.
Вот у меня есть блок div , когда с него уводится мышка, то через 10 сек этот блок должен исчезнуть...

Перестроение компонентов в форме по событию
Приветствую, друзья. Собственно, вот что я имею в виду: нужна форма, в начальном состоянии в...

7
wtf!?
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
14.05.2012, 13:01 2
C++
1
2
3
4
5
void __fastcall TForm1::Edit1Click(TObject *Sender)
{
Edit1->SelStart=0;
Edit1->SelLength=Edit1->Text.Length();
}
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.05.2012, 13:07 3
Flyer,

C++
1
Edit1->SelectAll();
Не проще?

Добавлено через 3 минуты
Mesken, по поводу пункта №2 как вариант:
C++
1
2
DBGrid2->DataSource->Enabled=false;
DBGrid1->DataSource->Enabled=true;
Учитывая, что у них один и тот же DataSet.
2
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
14.05.2012, 13:18 4
от чего должен "очищаться" DBGrid2 ? Я считаю, что правильнее манипулировать именно датасэтами.
0
0 / 0 / 1
Регистрация: 14.02.2011
Сообщений: 153
14.05.2012, 17:25  [ТС] 5
Flyer и The_Immortal, спасибо что откликнулись.

Flyer, не обижайтесь, но код The_Immortal действительно выглядит проще, хотя действия одинаковы.

The_Immortal, можно по подробнее по пункту 2, т.е. куда я эти коды должен вставить чтоб работало.

nick42, в DBGird1 выводится вся база данных (запрос изначально вшит Query1 и активен), в DBGird2 выводится результат поиска по базе данных. Поэтому при переключении на страницу 2 с DBGird2, должен очистится от предыдущего запроса всей базы и показать пустую DBGird2. И наоборот, при переключении на страницу 1 с DBGird1, должен показать всю базу данных, а если на предыдущей странице проводился поиск, то еще и очистится.
Оба DBGird'а работают с одним Query1.

Вот так по идее должно работать.
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.05.2012, 17:38 6
Mesken, эм... А можно кое-что уточнить? Чисто в семантическом плане:

Цитата Сообщение от Mesken Посмотреть сообщение
в DBGird2 выводится результат поиска по базе данных
Цитата Сообщение от Mesken Посмотреть сообщение
показать пустую DBGird2
Это как? Результат поиска неважен?

Если просто хотите, чтобы DBGrid2 "молчал" при переходе на вторую страницу PageControl'а, напишите на событие перехода на страницу:

C++
1
DBGrid2->DataSource->DataSet->Active=false;
1
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
14.05.2012, 17:42 7
Я обычно DBGrid ы устраиваю динамически подключенными (если это понятно) к таблице базы или к запросу. Поэтому и "очистить" их получается изменением источника данных. Так, в Вашем случае на первой вкладке я бы сделал источником таблицу, а на второй (выборочно...) - запрос. Если надо таблицу очистить - или очищаю строку запроса, или делаю его неактивным, или DataSource NULL .. как-то так практически. Стирать с DBGrid, связанной с базой, информацию мне представляется не логичным.
0
0 / 0 / 1
Регистрация: 14.02.2011
Сообщений: 153
14.05.2012, 18:31  [ТС] 8
Всем спасибо, я разобрался.

The_Immortal,
Результат поиска неважен?
Теперь важен, после того как я проверил работу программы. Выглядит не красиво, когда производишь поиск, переключаешься на другую страницу, затем обратно возвращаешься, а результата поиска нет.
Но с этим я сам могу справиться, по крайне мере я знаю что надо сделать.
Спасибо за код.

nick42, это я и имел ввиду.

Все, проблемы решены. Еще раз всем спасибо.
0
14.05.2012, 18:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2012, 18:31
Помогаю со студенческими работами здесь

Изменить контент страницы по событию компонентов без перезагрузки представления
Не смог более адекватно назвать тему. Суть вопроса такая: нужно, чтобы при изменении...

очистка содержащихся компонентов в scrollbox
очистка содержащихся компонентов в scrollbox(не скрытие)

Подсчитать общую сумму только по событию №1 или по событию №2
Добрый день. Подскажите пожалуйста, в базе имеются "№ Событий", "потери" по этим событиям в...

Очистка консоли, очистка строки, установка курсора
Здравствуйте! Подскажите как можно после очистки консоли поставить курсор в самый вверх, чтоб то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru