Форум: "Начинающим";
Текущий архив: 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