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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2008, 09:51   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Восклицание Удаление столбцов в DBGrid-e

Помогите сделать так, чтобы можно было удалять столбцы ненужные в DBGrid-e. При запуске программы в гриде отображается 15 столбцов, но возможно понадобится удалить лишние. Я начал делать так:
Код:
var
 i,j:integer;
begin
 i:=14; //15 столбцов
 j:=1; //при каждом нажатии надо, чтобы удалялся один столбец
   DBGrid1.Columns[i-j].Destroy;
end;
но когда я нажимаю на кнопку один раз, то в таблице остается нумерация столбцов такая: 1,2,3,4,5,6,7,8,9,10,11,12,13,15, а должно быть 1,2,3,4,5,6,7,8,9,10,11,12,13,14. Нажимаю еще раз остается такая последовательность: 1,2,3,4,5,6,7,8,9,10,11,12,13. Нажимаю третий раз появляется ошибка: "List index out of bounds (13)" и все. Как сделать, чтобы заработало правильно? Помогите пожалуйста)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.10.2008, 10:13   #2
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

наверное надо
i:= DBGrid1.Columns.Count;;
и нумерация идет с 0 если я не ошибаюсь.
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 24.10.2008, 10:21   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ламер_001, ваш вариант не работает. Так нельзя писать. Я знаю, что с нуля идет нумерация.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.10.2008, 11:02   #4
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

как нельзя?

j:= 1;
i:= DBGrid1.Columns.Count;
if i = 1 then ShowMessage('Error!')
else DBGrid1.Columns[i-j].Destroy;

у меня прекрасно удалила...
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 24.10.2008, 14:30   #5
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

А я бы не стал мучиться с удалением. Установил бы свойство Visible в ненужных столбцов в Fase и всё. К тому же, в любое время, если потребуется, их можно будет включить снова.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрет на удаление строк и столбцов Shavminator Microsoft Office Excel 2 12.01.2008 13:36
Изменить названия - заглавия столбцов в DBGrid Elena БД в Delphi 4 06.06.2007 11:31
Изменение размеров столбцов в DBGrid Elena БД в Delphi 1 15.05.2007 11:41
Ширина столбцов в DBGrid Elena БД в Delphi 1 27.04.2007 15:34