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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 22:51   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Добавить строку/столбец в Tstringgrid

Здравствуйте, у меня к вам появился вопрос, как можно проверить условие: если курсор стоит в той ячейке, которая на последнем столбце и последней строке, то добавить еще строку/столбец, иначе если курсор был в ячейке, и ячейка пуста, и курсора в ней нет, то удалить добавленные строки и столбцы, при условии того, что они не заполнялись. Возможно ли такое сделать?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 21.10.2013, 22:54   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

надо код писать, а без кода нет
eval вне форума Ответить с цитированием
Старый 21.10.2013, 22:58   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не понятно условие события "курсор стоит в ячейке"..
А так - можно, конечно.
добавить строку:
Код:
StringGrid1.RowCount := StringGrid1.RowCount + 1;
добавить столбец:
Код:
StringGrid1.ColCount := StringGrid1.ColCount + 1;
удалить последнюю строку (внимание! без очистки!!)
Код:
if StringGrid1.RowCount >0 then
   StringGrid1.RowCount := StringGrid1.RowlCount - 1;
удалить последний столбец (внимание! без очистки!!)
Код:
if StringGrid1.ColCount >0 then
   StringGrid1.ColCount := StringGrid1.ColCount - 1;
идея понятна?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2013, 02:56   #4
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Идея и так была ясна, но условие проверить не могу, а все-то, чего бы мне хотелось добиться на скрине, то есть если курсор (ну или клик мышкой по красной ячейке), то добавить строку/столбец, затем если чел переключился на другую ячейку, то удалить добавленные строку/столбец, при условии если переключился не на "новосозданные" столбцы и строки

Но если код нужен могу проект кинуть, только там нет ничего связанного с моей задачей.
Изображения
Тип файла: jpg 22-10-2013 2-52-49.jpg (53.5 Кб, 155 просмотров)
Вложения
Тип файла: rar Практическая_2.rar (205.2 Кб, 8 просмотров)
from dark to light)

Последний раз редактировалось Stilet; 22.10.2013 в 08:19.
Алексей_2012 вне форума Ответить с цитированием
Старый 22.10.2013, 11:09   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на события код вешать умеете?

тогда, например, на событие грида OnClick назначайте такой код:
Код:
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
   if (StringGrid1.Col = (StringGrid1.ColCount-1)) then
        StringGrid1.ColCount := StringGrid1.ColCount + 1;
   if (StringGrid1.Row = (StringGrid1.RowCount-1)) then
        StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;

p.s. удаление столбцов с проверкой на пустоту добавить можно на этом же событии при условии Col<(ColCount-1) или Row<(RowCount-1)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.10.2013, 11:22   #6
impeee
Пользователь
 
Регистрация: 11.09.2013
Сообщений: 56
По умолчанию

у стринггрида есть событие OnSelectCell, оно имеет параметры ACol и ARow, которое содержит номер ряда и колонны выделенной ячейки.

If (ACol = StringGrid1.ColCount - 1) and (ARow = StringGrid1.RowCount - 1) then ....

условие на выборку "красной ячейки"
impeee вне форума Ответить с цитированием
Старый 22.10.2013, 11:53   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

impee, можно и на onSelectCell
но onClick тоже работает
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами, компонент TStringGrid, не получается вывести столбец. Eugene_A Помощь студентам 3 13.05.2013 21:41
TStringGrid - наведение мыши на строку fezilk25 Компоненты Delphi 2 09.05.2012 19:36
столбец преобразовать в строку 0mega Microsoft Office Excel 6 03.02.2010 07:29
Добавить столбец в таблицу на VBA Serge_Bliznykov Microsoft Office Word 7 27.04.2009 14:04