Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

Удаление строки в StringGrid   Найти похожие ветки 

 
aht ©   (2006-09-29 10:47) [0]

HI ALL.
как ниболее простым способом реализовть сабж?


 
Elen ©   (2006-09-29 10:52) [1]


> aht

Тебе надо физически удалить запись или достаточно будет скрыть ее с глаз?


 
aht ©   (2006-09-29 10:59) [2]

физически


 
ЮЮ ©   (2006-09-29 11:02) [3]

смещать информацию и уменьшать количество строк:

procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
begin
 for i := StringGrid1.Row + 1 to StringGrid1.RowCount - 1 do
   StringGrid1.Rows[i - 1].Assign(StringGrid1.Rows[i]);
 StringGrid1.RowCount := StringGrid1.RowCount - 1;
end;


 
Elen ©   (2006-09-29 11:22) [4]


> aht


procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
StringGrid1.Row:=0;
i:=0;
while( i<=StringGrid1.RowCount - 1)and(  StringGrid1.Row<StringGrid1.RowCount-1) do
begin
if i>=2 then begin
  StringGrid1.Rows[i].Assign(StringGrid1.Rows[i+1]);
end else
 StringGrid1.Row:=StringGrid1.Row+1;
 inc(i);
end;
 // StringGrid1.RowCount := StringGrid1.RowCount - 1;
end;


Где 2 - номер строки которую нужно удалить (код сыроват)


 
aht ©   (2006-09-29 11:23) [5]

ок, пасибо большое


 
MsGuns ©   (2006-09-29 12:12) [6]

>Elen ©   (29.09.06 10:52) [1]
>Тебе надо физически удалить запись или достаточно будет скрыть ее с глаз?

У стрингрида нет записей. У него есть только строки. А это не одно и то же - см. справку по string и TStrings в MSDN


 
Ketmar ©   (2006-09-29 12:16) [7]

>[6] MsGuns(c) 29-Sep-2006, 12:12
>строки. А это не одно и то же - см. справку по
>string и TStrings в MSDN
э-э-э... я отстал от жизни, или MSDN уже-таки описывает Delphi? %-)


 
Elen ©   (2006-09-29 12:16) [8]


> MsGuns

Ну я имею ввиду Row. По привычке называю записью строку в таблице. Но главное что мня автор понял... ;-) (От же любитель подкалывать...)


 
MsGuns ©   (2006-09-29 13:48) [9]

>Elen ©   (29.09.06 12:16) [8]
>От же любитель подкалывать...

"Не могу с Вами согласиться. Свежесть не бывает второй степени. Она бывает только первая, она же и последняя. Да вот извольте, не угодно ли отведать ?.." (МиМ)

"Пишите только в самом крайнем случае, если не писать не можете" (А.П.Чехов)

;)))


 
Elen ©   (2006-09-29 13:57) [10]


> MsGuns

Не писать - это жесть, а не справление потребностей. (Ну все. Щас нас модераторы вытрут)


 
MsGuns ©   (2006-09-29 14:02) [11]

>Elen ©   (29.09.06 13:57) [10]

Леночка, Вы бы себе блузончик новый купили. Или в кафешку сходили с воздыхателем - не все ж мозг напрягать.

Сори за фотоп, но дефчонка достала ;))


 
Elen ©   (2006-09-29 14:05) [12]


> MsGuns

Опа СПОНСОР!!! УРА!!! Мой каприз за ваши грошики ;D


 
MsGuns ©   (2006-09-29 17:48) [13]

>Elen ©   (29.09.06 14:05) [12]
>Мой каприз за ваши грошики ;D

Без проблем ;))


 
Германн ©   (2006-09-30 01:45) [14]


> aht ©   (29.09.06 10:47)
>
> HI ALL.
> как ниболее простым способом реализовть сабж?

Использовать тот "хакерский" приём, который единствееный незапрещённый на сём форуме. И который постоянно "рекламирует" ЮЗ :-)

Например удаляем строку с номером 2 нажав на кнопку Button1.
type
 THStringGrid = class(TStringGrid)
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 THStringGrid(StringGrid1).DeleteRow(2);
end;


 
Германн ©   (2006-09-30 03:02) [15]

Но вот почему DeleteRow до сих пор сидит в protecded для TStringGrid (а и в BDS2006 - то же самое) я не понимаю!
Похоже Гридами в Борланде либо не занимаются, либо занимаются "от случая к случаю", либо отдали сей вопрос на решение кому-то, кто и не знает и не хочет работать. :-(


 
vegarulez ©   (2006-10-01 13:39) [16]

Народ подскажите почему при вот такой реализации

type
THStringGrid = class(TStringGrid)
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
THStringGrid(StringGrid1).DeleteRow(2);
end;

после удаления делаю

Form1.StringGrid1.RowCount:=Form1.StringGrid1.RowCount+1;

Вылазиет в конце таблички та строка, которая удалилась тока что... (
Я так полагаю, она где-то храниться и надо хранилище отчищать...
подскажите где...


 
Германн ©   (2006-10-01 20:36) [17]


> Я так полагаю, она где-то храниться и надо хранилище отчищать.
> ..
> подскажите где...
>


property Rows[Index: Integer]: TStrings;


 
vegarulez ©   (2006-10-02 06:28) [18]

Уже сделал отчистку rows[i], перед их удалением... поэтому когда вставляю новую строку она автоматически пустая...
Теперь возникает другой вопрос, как пометить разные строки разным цветом?
то бишь допустим те которые готовы к удалению красным, другие ещё каким нить...
свойства color приминительно к rows[i] я что-то не нашёл... :(
А просто color от грида - красит весь грид...
подскажите плз...


 
ЮЮ ©   (2006-10-02 07:02) [19]

"Красить", естественно, придется самому, в OnDrawCell, в контексте Canvas.Font.Color


 
ЮЮ ©   (2006-10-02 07:04) [20]

а также Canvas.Brush.Color, Canvas.Pen.Color



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.04 c
2-1159976527
ArtemESC
2006-10-04 19:42
2006.10.22
МНОГА указателей...


2-1160053115
Anto}{a
2006-10-05 16:58
2006.10.22
Таблица


2-1160034080
balagur
2006-10-05 11:41
2006.10.22
Кнопка


1-1157693465
_Guest_
2006-09-08 09:31
2006.10.22
повторяющееся событие MouseWheel


15-1159252551
Курдль
2006-09-26 10:35
2006.10.22
"Графическое наследование ДатаСэтов" в Delphi .NET





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский