Хотя вопрос может быть duplicate, ответ предоставляется на этот вопрос не является достаточным решением. Вы поймете, почему.
Вы работаете по идее, что dataGridView1.Rows.Add();
добавляет новую строку в строку "" в начало текущей строки. "Это не совсем так. С текущей настройкой, следующий по умолчанию в конструкторе:
this.dataGridView1.AllowUserToAddRows = true;
Это приводит к нижнему (неподтвержденному) ряду сетки, обозначен символом *. Это NewRow, как указано в коде, обратившись с помощью this.dataGridView1.NewRowIndex
. Каждый раз, когда вы редактируете эту строку, она совершается, и добавляется еще NewRow.
Почему этот вопрос? Потому что, когда у вас есть это свойство, установленное на true
, вызов dataGridView1.Rows.Add()
добавляет новую строку в конец вашего заработанных строк перед NewRow. Например:
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows[dataGridView1.Rows.Count-1].Cells[0].Value = dataGridView1.Rows.Count;
dataGridView1.Rows.Add(new object[] { "I'm new" });
}
Предложенный ответ: dataGridView1.Rows.Insert(dataGridView1.Rows.Count - 1, 1)
будет сделать то же самое. Следовательно, почему это не решение.
Решение
Своп порядок ваших двух строк кода.
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count-1].Cells[0].Value = dataGridView1.Rows.Count;
}
Дубликат -> http://stackoverflow.com/questions/18440668/add-new-row-at-bottom-of-datagridview-in-winform –
Я просто использовал 'dataGridView1 .Rows.Insert (dataGridView1.Rows.Count - 1, 1) ', но строка добавлена в начало. Пожалуйста, поправьте меня, если я ошибаюсь? – user3723486
Какую технологию вы используете? WPF, Windows Forms? Связан ли какой-нибудь файл данных? – Domysee