Vb.net Переместите строку Datagridview в последнюю строку при редактировании

Я не нашел на форуме то, что мне нужно. Я не хочу перемещать выделение или индекс прокрутки, все, что мне нужно, это изменить всю строку с определенным индексом, чтобы она была последней строкой в ​​моем представлении сетки данных. Мне нужно, чтобы это происходило автоматически, когда я редактирую эту строку.

P.S. Сетка данных не привязана

Например:

dgv.rows(index).index=dgv.row.getlastrow

Однако отладчик возвращает ошибку, что индекс доступен только для чтения.

Пожалуйста, помогите, ребята!


person charles    schedule 01.11.2017    source источник
comment
Хотя ваш запрос кажется мне несколько необычным, проверьте этот пост или этот, который может помочь вам в ваших поисках   -  person boop_the_snoot    schedule 01.11.2017
comment
Я не нашел ни одной темы об этом, хотя это кажется простым. нет ли способа изменить индекс несвязанной строки datagridview? например, перейти к следующему или более последнему   -  person charles    schedule 01.11.2017
comment
о, извините, я не видел ваших ссылок xDDDD   -  person charles    schedule 01.11.2017
comment
Я думаю, вы спасли мой день, спасибо :) я попробую второй   -  person charles    schedule 01.11.2017
comment
Не играйте так с datagridview, если к нему подключен источник данных. Вы можете вызвать что-то нежелательное. Если вам нужно это сделать, я бы посоветовал вам вставлять свои строки самостоятельно, а не полагаться на функции с представлением данных, которые обновляют сетку для вас. Что вы также можете сделать, так это сделать второе представление сетки данных прямо под первым, поэтому, когда вы редактируете строку, вы фактически редактируете строку в другой сетке данных, но пользователь этого не увидит, и если у вас много строк, то вам не нужно прокручивать вниз, чтобы просмотреть последнюю строку и т. д.   -  person    schedule 01.11.2017
comment
нет-нет, я уже упоминал, что датагрид не привязан. я вставляю строки в него вручную. у него нет источника данных   -  person charles    schedule 01.11.2017


Ответы (1)


Это сработало для меня:

Dim curr_row As DataGridViewRow = idgv.Rows(Index)               
Dim curr_index As Integer=idgv.Rows.GetLastRow(DataGridViewElementStates.Visible)     
idgv.Rows.Remove(curr_row)
idgv.Rows.Insert(curr_index, curr_row)
person charles    schedule 01.11.2017