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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 21:07   #1
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию Удалить все данные из StringGrid-a

Здравствуйте
подскажите как удалить все данные которые были введены в определенный стринггрид

ситуация такая введены данные в стринг грид, сохранил в таблицу как сделать чтоб после сохранения грид снова был пустым

количество рядов грида не известно... тоесть один раз человек может ввести 5 рядов а другой только 1
postaveche вне форума Ответить с цитированием
Старый 13.01.2011, 21:24   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

очистить или сделать его размером ноль строк/ноль столбцов?

очистить:
Код:
  for Col:=0 to StringGrid1.ColCount-1 do
     for Row:=0 to StringGrid1.RowCount-1 do
        StringGrid1.Cells[Col,Row] := '';
удалить столбцы/строки ещё проще:
Код:
    StringGrid1.RowCount:=0;
    StringGrid1.ColCount:=0;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.01.2011, 21:45   #3
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

при удаление столбцов и строк если потом добавить новый ряд то данные что были введены полюбому остаются

проверенно

насчет очистки сечас попробую
postaveche вне форума Ответить с цитированием
Старый 13.01.2011, 22:33   #4
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
очистить:
...
удалить столбцы/строки ещё проще:
Увы, Сергей, но это не очистка. Попробуйте увеличить число строк или столбцов - и вы увидите все те же данные...
А как вот этот вариант ?
Код:
for i:=1 to StringGrid1.RowCount-1 do
StringGrid1.Rows[i].Clear;
или
for i:=1 to StringGrid1.ColCount-1 do
StringGrid1.Cols[i].Clear;

Последний раз редактировалось asmodey1; 14.01.2011 в 14:50.
asmodey1 вне форума Ответить с цитированием
Старый 14.01.2011, 09:07   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А как вот этот вариант ?
по фигу мороз..
та же самая фигня, что и с присвоением пустых строк (впрочем, это видно из кода) - очищаются только те элементы, индексы которых попадают под условие <= RowCount и <= ColCount

Тут я вижу только такие варианты решения проблемы:
1) некрасивый. но рабочий
Код:
var i : Integer;
begin
  StringGrid1.Visible := false;
  for i:=0 to 1000 do
     StringGrid1.Rows[i].Clear;
  StringGrid1.Visible := true;
end;
вместо 1000 можно поставить любое число, заведомо большее, чем может быть максимально возможно число строк

2) столбцы и строки не берутся "с неба". в программе вести счётчик максимальной величины количества строк и максимального значения количества столбцов.
ну и чистить только по эти величины.

Последний раз редактировалось Serge_Bliznykov; 14.01.2011 в 09:59. Причина: исправил код - выкинул ненужный цикл
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2011, 09:24   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

А зачем 2 цикла? сначала все колонки очищать, а потом все строки... странно)
По моему хватит и одного цикла, либо колонки очистить
Код:
 for i:=0 to 1000 do

     StringGrid1.Rows[i].Clear;
либо строки
Код:
 for i:=0 to 1000 do

     StringGrid1.Cols[i].Clear;
данные то и так и так все удалятся.
vovk вне форума Ответить с цитированием
Старый 14.01.2011, 09:56   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

vovk, ну разумеется Вы правы!
это я глупость сморозил!!

исправлю свой вышеприведённый код
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.01.2011, 13:20   #8
postaveche
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 77
По умолчанию

спасибо большое!
postaveche вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из строки удалить все цифры. Shnurik_sh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 24.11.2010 01:17
Удалить все таблицы в документе Balexander Microsoft Office Word 1 18.11.2010 09:47
Удалить данные из TMemoryStream TwiX Общие вопросы Delphi 3 17.06.2010 14:05
как удалить данные asd178 БД в Delphi 1 18.05.2009 18:49
Как удалить все картинки bskjohn Microsoft Office Excel 3 19.02.2009 10:13