Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2009, 14:40   #1
MargoNik
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 32
По умолчанию добавление и удаление столбцов в DBGrid по нажатию кнопки

Здравствуйте, мне необходимо, чтобы по нажатии кнопок основные столбцы скрывались в DBGrid и появлялись новые (вычисляемые поля). По нажатии кнопки "по полугодиям"-вычисляемые поля по полугодиям, "по кварталам"-вычисляемые поля по кварталам и т.д. При этом основные столбцы "по месяцам" скрывались.
Думаю делать это с помощью запросов, может кто-нибудь знает другой способ?
MargoNik вне форума Ответить с цитированием
Старый 26.04.2009, 15:18   #2
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Можно так скрывать столбец, например 1 в сетке
DBGrid1.Fields[1].Visible:=false;
но лучше через SQL
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 27.04.2009, 04:28   #3
MargoNik
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 32
По умолчанию

Цитата:
Сообщение от ArtInt Посмотреть сообщение
Можно так скрывать столбец, например 1 в сетке
DBGrid1.Fields[1].Visible:=false;
Так не получается Может вы имели в виду свойство Columns?
Цитата:
но лучше через SQL
Уж очень не хочется возиться с запросами..
MargoNik вне форума Ответить с цитированием
Старый 27.04.2009, 13:03   #4
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Первый вариант скрыть столбец
Код:
 DbGridSpisokEditov.Fields[1].Visible:=false;
Второй вариант
Код:
 DbGridSpisokEditov.Columns.Items[1].Visible:=false;
Оба варианта рабочие, проверял.
Может быть не заполнена таблица AdoTable? Посмотри через Field Editor этой таблицы.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 27.04.2009, 14:41   #5
MargoNik
Пользователь
 
Регистрация: 20.03.2009
Сообщений: 32
По умолчанию

Таблица непустая. Через Columns работает, а через Fields нет.
а если после нажатия одной кнопки нажимать другую(т.е. уже скрывать другие столбцы), то какую нужно прописать команду для DBGrid. А то получается по нажатию второй кнопки ерунда(скрываются столбы по номерам, которые получились после нажатия первой кнопки). Т.е. скрывать столбы необходимо относительно самого первого варианта таблицы.
MargoNik вне форума Ответить с цитированием
Старый 27.04.2009, 15:28   #6
ArtInt
Форумчанин
 
Аватар для ArtInt
 
Регистрация: 06.03.2009
Сообщений: 583
По умолчанию

Попробуй так
Код:
var
  I: Integer;
begin

 for I := 0 to DBGrid1.Columns.Count-1 do    // Iterate
 begin
   if DBGrid1.Columns.Items[i].DisplayName='key1' then DBGrid1.Columns.Items[i].Visible:=false;
 end;    // for
Как видишь здесь в цикле, если имя поля равно key1 тогда его visible false.
И так потом для другого поля тоже
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
ArtInt вне форума Ответить с цитированием
Старый 27.04.2009, 15:44   #7
maladoy
delphi-ст!
Форумчанин
 
Аватар для maladoy
 
Регистрация: 02.01.2009
Сообщений: 825
По умолчанию

Код:
query.sql.add('запрос по месяцам');
а при нажатии кнопок меняйте запрос!!!
вступлю в команду разработчиков ПО на Delphi
maladoy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача фокуса по нажатию кнопки Ch00kan0ff Общие вопросы C/C++ 2 27.03.2009 20:53
Удаление столбцов в DBGrid-e artemavd БД в Delphi 4 24.10.2008 14:30
Сортировка по нажатию кнопки Nate-p Microsoft Office Access 2 25.06.2008 08:35
Картинка появляется по нажатию кнопки! MAKEDON Общие вопросы Delphi 3 13.12.2007 20:17
Картинка появляется по нажатию кнопки! MAKEDON Общие вопросы Delphi 3 12.12.2007 22:49