![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid
sergeyst © (2007-01-17 11:32:00)Здравствуйте уважаемые мастера.
Подскажите, пожалуйста, как мне удалить строку из грида
sgViewDoc.Rows[sgViewDoc.Row].Delete(sgViewDoc.Row);
На это выдает сообщение, что не может вставить/удалить строку. Почему?
Германн (2007-01-17 14:33:00) [1]
> clickmaker © (17.01.07 12:09) [7]
>
>
> > [2] sergeyst © (17.01.07 11:58)
>
> а, ну да
> придется сдвигать содержимое тогда, потом уменьшить RowCount
>
Это уже реализовано в TCustomGrid.DeleteRow
clickmaker (2007-01-17 12:09:00) [2]
> [2] sergeyst © (17.01.07 11:58)
а, ну да
придется сдвигать содержимое тогда, потом уменьшить RowCount
easy (2007-01-17 12:07:00) [3]http://www.scalabium.com/faq/dct0057.htm
sergeyst (2007-01-17 12:06:00) [4]Единственное, придумал - это запомнить номер нужной строки, а потом заново заполнить грид уже без нее. Как-то коряво.
Elen (2007-01-17 12:02:00) [5]
> sergeyst
Попробуй так : index - номер удаляемой строки
//********** FUNCTION **********
function DelRowInStringGrid(Grid:TStringgrid;index:integer):variant;
var
i: integer;
begin
Grid.Row:=0;
i:=0;
while( i<=Grid.RowCount - 1)and( Grid.Row<Grid.RowCount-1) do
begin
if i>=index then begin
Grid.Rows[i].Assign(Grid.Rows[i+1]);
end else
Grid.Row:=Grid.Row+1;
inc(i);
end;
// StringGrid1.RowCount := StringGrid1.RowCount - 1;
end;
//********** END FUNCTION ******
Elen (2007-01-17 11:59:00) [6]
> clickmaker © (17.01.07 11:40) [1]
>
> sgViewDoc.Rows.Delete(sgViewDoc.Row)
Разве?
а не выдаст Error : '[' expected but '.' found
sergeyst (2007-01-17 11:58:00) [7]
> clickmaker © (17.01.07 11:40) [1]
пишет, что ожидался '['
и так тоже:
sgViewDoc.Rows[].Delete(sgViewDoc.Row)
clickmaker (2007-01-17 11:40:00) [8]sgViewDoc.Rows.Delete(sgViewDoc.Row)