2015-09-04 4 views
1

Есть ли способ очистить только 1 строку в DataGridView в C#? причина при внедрении этого кодаУдалить только 1 строку DataGridView в C#

dataGridView1.Rows.Clear(); 

Он очищает все элементы в моей сетке. Я хочу, чтобы только одна строка строки была очищена при нажатии кнопки.

Любая помощь будет принята с благодарностью

ответ

2

Вы можете попробовать это, чтобы удалить текущую строку на dgv.

YourDGVName.Rows.RemoveAt(YourDGVName.CurrentRow.Index); 

Вы также можете принимать выбранные строки или номер конкретной строки каждый раз.

+0

Спасибо! Это сработало! – Jon

3

Вы можете удалить строку, как это, если у вас уже есть строка:

dataGridView1.Rows.Remove(rowToRemove); 

или, вы можете удалить выбранную строку, как это:

var rowToRemove = dataGridView1.Rows[dataGridView1.SelectedCells.Item(0).RowIndex]; 
dataGridView1.Rows.Remove(rowToRemove); 

или, как это:

dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index); 

или, если вы хотите, чтобы очистить все выбранные строки:

foreach (var row in dataGridView1.SelectedRows) 
{ 
    dataGridView1.Rows.Remove(row); 
} 

идеально, хотя, вы хотели бы связываться с источником данных (обычно через ViewModel), а затем удалить выбранную опорную точку из источника.

+0

Hi d.moncada .. Как насчет очистки выбранной строки – Jon

+0

@JonBonJoviMateo вторая реализация очистит ее по индексу. Также см. Обновление –

+0

Обнаруженная ошибка в рядах «Неподвижный элемент« DataGridView.Rows »не может использоваться как метод« ---------------------- --------------- Обнаруженная ошибка в элементе DataGridViewSelectedCellCollection не содержит определения для «item», и не используется метод «элемент» расширения, принимающий первый аргумент типа «DataGridViewSelectedCellCollection», который может быть (вам не хватает директивы использования или ссылки на сборку?) – Jon

Смежные вопросы