Как добавить новую строку в DataGridView?
Из этой статьи Вы узнаете, как добавить строку в DataGridView.
И так, как обычно для начала создадим простое Windows Forms приложение на языке c#, после чего добавим на форму: DataGridView (dgv), кнопку и textBox.
Чтобы добавить новую строку в DataGridView нужно воспользоваться методом Add, например:
Но, если сейчас выполнить данный код, то на экране появится
сообщение об ошибке:
Первый параметр — это имя колонки, а второй — это
название колонки, которое будет отображаться в DataGridView.
Снова попробуем добавить строку в DataGridView.
Либо можно сразу же передать значения в качестве параметров, например:
результат
Теперь всё в порядке задача решена.
Здесь стоит обратить внимание на один важный момент. По умолчанию в DataGridView рядом с пунктом Enable Adding включена галочка, которая даёт возможность пользователям вручную добавлять строки прямо в самом элементе DataGridView.
Но также её включение приводит к тому, что каждый раз, перед
выполнением метода Add, в коллекцию строк будет автоматически
добавляться новая строка.
Поэтому в данном примере мы можем вообще не вызывать метод Add, а
сразу же заполнить ячейки уже существующей строки нужными нам
значениями, например:
На этом всё, если есть какие-то вопросы, то оставляйте их в комментариях.
Из этой статьи Вы узнаете, как добавить строку в DataGridView.
И так, как обычно для начала создадим простое Windows Forms приложение на языке c#, после чего добавим на форму: DataGridView (dgv), кнопку и textBox.
Чтобы добавить новую строку в DataGridView нужно воспользоваться методом Add, например:
C#:
private void button1_Click(object sender, EventArgs e)
{
dgv.Rows.Add(textBox1.Text);
}
сообщение об ошибке:
Проблема заключается в том, что у нас нет колонок, исправим это.No row can be added to a DataGridView
control that does not have columns. Columns must be added
first
C#:
private void button1_Click(object sender, EventArgs e)
{
//создаём и добавляем две колонки
dgv.Columns.Add("ID", "Id");
dgv.Columns.Add("Name", "Name");
}
название колонки, которое будет отображаться в DataGridView.
Снова попробуем добавить строку в DataGridView.
C#:
private void button1_Click(object sender, EventArgs e)
{
//1. Создаём и добавляем колонки
//2. Добавляем строку
int rowNumber = dgv.Rows.Add();
//3. Заполняем ячейки
dgv.Rows[rowNumber].Cells["ID"].Value = rowNumber;
dgv.Rows[rowNumber].Cells[1].Value = textBox1.Text;
}
dgv.Rows.Add(0, textBox1.Text);
результат
Теперь всё в порядке задача решена.
Здесь стоит обратить внимание на один важный момент. По умолчанию в DataGridView рядом с пунктом Enable Adding включена галочка, которая даёт возможность пользователям вручную добавлять строки прямо в самом элементе DataGridView.
Но также её включение приводит к тому, что каждый раз, перед
выполнением метода Add, в коллекцию строк будет автоматически
добавляться новая строка.
Поэтому в данном примере мы можем вообще не вызывать метод Add, а
сразу же заполнить ячейки уже существующей строки нужными нам
значениями, например:
C#:
private void button1_Click(object sender, EventArgs e)
{
//1. Добавляем колонки
//2. Строка уже добавлена!
//3. Заполняем ячейки
dgv.Rows[0].Cells["ID"].Value = 1;
dgv.Rows[0].Cells[1].Value = textBox1.Text;
}
C#:
private void button1_Click(object sender, EventArgs e)
{
//1. Создаём и добавляем колонки
//2. Добавляем строку
int rowNumber = dgv.Rows.Add();
//3. Заполняем ячейки
dgv.Rows[rowNumber].Cells["ID"].Value = rowNumber;
dgv.Rows[rowNumber].Cells[1].Value = textBox1.Text;
}