Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
mac1eod
7 / 7 / 2
Регистрация: 26.10.2014
Сообщений: 35
1

Корректное удаление строки из StringGrid

27.02.2015, 17:05. Просмотров 563. Ответов 6
Метки нет (Все метки)

Всем привет! Такие дела.
Проблема в том что не могу реализовать корректное удаление строк в StringGrid. Записи остаются в гриде, по всей видимости просто скрываются и при последующем добавлении строк обязательно вылезут. Удаление провожу вот так:
Delphi
1
TMyGrid(StringGrid).DeleteRow(str);
И после этого при добавлении новых записей вместо них на своем месте возникают старые. Использование
Delphi
1
StringGrid.Rows[str].Clear;
не спасает, так как при добавлении новых записей на месте старых появляются пустые строки. Может нужно изменить подход к добавлению строк? Идеи уже иссякли. Буду рад любым советам.

Добавлено через 9 минут
Еще пробовал вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure DeleteRow(SG: TStringGrid; Str: integer);
var i, j: Integer;
begin
with SG do
  begin
    for i:=STR+1 to RowCount-1 do
    for j:=0 to ColCount-1 do Cells[j, i-1]:=Cells[j, i];
    for i:=0 to ColCount-1 do Cells[i, RowCount-1]:='';
    RowCount:=RowCount-1;
  end;
end;
При добавлении новых записей так же на месте удаленных появляются пустые строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2015, 17:05
Ответы с готовыми решениями:

Удаление строки из stringgrid
Задача состоит в удалении строки, в которой есть элемент кратный трем. Вот,...

Удаление строки в StringGrid
Подскажите как сделать! Имею пару записей в StringGrid и нужно удалить строку,...

Удаление строки из StringGrid
Подскажите такую вешь, как реализовать чтобы вводишь в едит1 значение по...

Удаление строки из StringGrid
Здравствуйте. Необходимо, чтобы удалить одну строку из таблицы. Делаю это...

Удаление строки в StringGrid
Доброго времени суток, хотел узнать возможно ли удалить нужную строку в...

6
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,923
27.02.2015, 18:50 2
Так очищай перед удалением:
Delphi
1
2
  StringGrid1.Rows[StringGrid1.Row].Clear;
  StringGrid1.DeleteRow(StringGrid1.Row);
0
mac1eod
7 / 7 / 2
Регистрация: 26.10.2014
Сообщений: 35
27.02.2015, 21:34  [ТС] 3
Так проблем с очисткой нет. Есть проблема с удалением. И кстати StringGrid не содержит метода DeleteRow.
0
northener
пофигист широкого профиля
3422 / 2322 / 630
Регистрация: 15.07.2013
Сообщений: 13,735
27.02.2015, 22:59 4
Цитата Сообщение от mac1eod Посмотреть сообщение
Есть проблема с удалением
Нет никаких проблем. Только нужно все делать ручками. Сдвигать строки за удаленной. Чистить содержимое лишней, Уменьшать количество строк.
0
FIL
Модератор
3419 / 2555 / 726
Регистрация: 19.09.2012
Сообщений: 7,923
27.02.2015, 23:24 5
Цитата Сообщение от mac1eod Посмотреть сообщение
Есть проблема с удалением.
Я не понимаю какая у тебя проблема с удалением. Все прекрасно удаляется и добавляется.
Цитата Сообщение от mac1eod Посмотреть сообщение
StringGrid не содержит метода DeleteRow.
Содержит. Надо только уметь им пользоваться
0
mac1eod
7 / 7 / 2
Регистрация: 26.10.2014
Сообщений: 35
28.02.2015, 09:44  [ТС] 6
northener, Вы бы хоть первый пост до конца прочитали....
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure DeleteRow(SG: TStringGrid; Str: integer);
var i, j: Integer;
begin
with SG do
  begin
    for i:=STR+1 to RowCount-1 do
    for j:=0 to ColCount-1 do Cells[j, i-1]:=Cells[j, i];
    for i:=0 to ColCount-1 do Cells[i, RowCount-1]:='';
    RowCount:=RowCount-1;
  end;
end;
FIL, будьте так добры, научите

Добавлено через 45 минут
уже не актуально
0
northener
пофигист широкого профиля
3422 / 2322 / 630
Регистрация: 15.07.2013
Сообщений: 13,735
28.02.2015, 13:58 7
Цитата Сообщение от mac1eod Посмотреть сообщение
northener, Вы бы хоть первый пост до конца прочитали....
Прочитал до конца. Пример кода видел. Проблемы не увидел.
0
28.02.2015, 13:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2015, 13:58

Удаление выбранной строки в StringGrid
procedure TForm2.SpeedButton1Click(Sender: TObject); var position:integer;...

Удаление строки из типизированного файла в StringGrid-е
Здравствуйте. Подскажите пожалуйста, где ошибка... Процедура должна удалить...

Удаление строки базы данных в Stringgrid
Здравствуйте господа! Возник следующий вопрос, как удалить строку в Stringgrid,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru