Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 18.07.2010
Сообщений: 9

Как программно скрыть 3-4 колонки в DBGrid, используя CheckBox

20.07.2010, 00:55. Показов 6043. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, пожалуйста, как можно программно скрыть 3-4 колонки в DBGrid, используя CheckBox?

Вот текст программы:

C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
 
  if (CheckBox1->Checked==true)
  DBGrid1->Columns->Items[2]->Visible == false;
  DBGrid1->Columns->Items[5]->Visible = false;
  DBGrid1->Columns->Items[6]->Visible = false;
 
}
При компилировании ошибок не выдает, но тем не менее не работает (колонки не скрываются)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2010, 00:55
Ответы с готовыми решениями:

Как программно добавить в DbGrid показ новой колонки?
Добавляю столбец программно в Access запросом через ADO, обновляю все пустые поля в нем на строку "Знач" и мне надо, чтобы в этом...

Как скрыть колонки в стринггриде?
Всем привет! :senor: задача бональна - ну я чет немогу ее решить. надеюсь общими мыслями найти верное решение. вот что я хочу...

jOuery. Как скрыть колонки таблицы
Ниже представленный код выводит таблицу с тремя колонками и тремя флажками. Поочередно выключая чекбоксы, поочередно скрываются и колонки...

6
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.07.2010, 09:21
А так
C++
1
 DBGrid1->Columns->Items[2]->Visible=CheckBox1->Checked
0
 Аватар для Cepera
55 / 55 / 5
Регистрация: 09.03.2009
Сообщений: 177
20.07.2010, 09:28
Ну начнем с ошибок.
Вот здесь после проверки чекбокса у Вас идет проверка невидимости Items[2]
C++
1
2
if (CheckBox1->Checked==true)
  DBGrid1->Columns->Items[2]->Visible == false;
... и точка с запятой.
Далее идет код
C++
1
2
DBGrid1->Columns->Items[5]->Visible = false;
  DBGrid1->Columns->Items[6]->Visible = false;
...который при при событии онклик по чекбоксу будет присваивать значение "ложь" свойству визибл для Items[5] и Items[6]
Думаю в Вашем случае более правильно будет Вот так:
C++
1
2
3
4
5
6
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
  DBGrid1->Columns->Items[2]->Visible =!CheckBox1->Checked;
  DBGrid1->Columns->Items[5]->Visible =!CheckBox1->Checked;
  DBGrid1->Columns->Items[6]->Visible =!CheckBox1->Checked;
}
Остается один момент. Я уже стал подзабывать билдер, т.ч. точно не могу сказать является ли правильным такое
C++
1
DBGrid1->Columns->Items[2]->Visible
обращение к свойству видимости колонки.
ЗЫ: ну вот, пока писал ответ Sasha уже ответил
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.07.2010, 09:35
Остается один момент. Я уже стал подзабывать билдер, т.ч. точно не могу сказать является ли правильным такое
Код C++
1DBGrid1->Columns->Items[2]->Visible

обращение к свойству видимости колонки.
Да, является правильным
0
0 / 0 / 0
Регистрация: 18.07.2010
Сообщений: 9
20.07.2010, 16:48  [ТС]
Sasha, Серега, спасибо Вам большое, что помогли!!! Ну, а на счет вот этой ошибки:

Цитата Сообщение от Cepera Посмотреть сообщение
Ну начнем с ошибок.
Вот здесь после проверки чекбокса у Вас идет проверка невидимости Items[2]
C++
1
2
if (CheckBox1->Checked==true)
  DBGrid1->Columns->Items[2]->Visible == false;
Блин стыдно, конечно, мне такие ошибки делать.
0
0 / 0 / 0
Регистрация: 18.04.2011
Сообщений: 13
11.05.2011, 13:07
а подскажите пожалуйста как скрыть колонки если к примеру у меня есть поле "Активен" со значениями true и false которые в свою очередь изменяются с помощью DBCheckBox, как мне отобрать активных, используя CheckBox.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
11.05.2011, 13:31
Я так понял ты работаешь с базой?

Просто создаёшь запрос и крепишь его к чекбоусу и всё.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2011, 13:31
Помогаю со студенческими работами здесь

Как скрыть CheckBox в списке?
Есть ListView, в нем item'ы с чекбоксами, нужно по кнопке включать режим мультивыбора, т.е. пока не нажмешь кнопку, чекбоксы в списке не...

DataGrid, как скрыть колонки и изменить заголовки полей?
Датагрид заполняю из датасет (запрос из бд). Необходимо в датегрид скрыть 2(3 или сколько надо) последних колонок, а также изменить...

Как перебирать значение колонки в DBGrid?
У меня вот какая проблема? Я программировал на VB, а сейчас перешел на delphi. Вот код. procedure TForm4.BitBtn2Click(Sender:...

DBGrid как выравнять колонки по тексту?
Всем привет! Делаю вывод данных из БД Access в DBGrid(вывожу несколько столбцов), а DBGrid растягивает 1 ячейку(скрин).

CheckBox.Location программно создаваемых CheckBox - расположить их в столбик
Цель-разместить на форме определенное количество чекбоксов - что благополучно достигнуто; и расположить их аккуратно в столбик - тут...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru