Member 13684749 Ответов: 1

Как вставить строку в gridview с помощью текстовых полей и увеличить ее на единицу


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

Что я уже пробовал:

form1.dataGridView1.Rows[1].Cells[0].Value = textBox1.Text;
             form1.dataGridView1.Rows[1].Cells[1].Value = textBox2.Text;
             form1.dataGridView1.Rows[1].Cells[2].Value = textBox3.Text;
             form1.dataGridView1.Rows[1].Cells[3].Value = textBox4.Text;
             form1.dataGridView1.Rows[1].Cells[4].Value = textBox5.Text;
             form1.dataGridView1.Rows[1].Cells[5].Value = textBox6.Text;
             form1.dataGridView1.Rows[1].Cells[6].Value = textBox7.Text;
             form1.dataGridView1.Rows[1].Cells[7].Value = textBox8.Text;
             form1.dataGridView1.Rows[1].Cells[8].Value = textBox9.Text;
             form1.dataGridView1.Rows[1].Cells[9].Value = textBox10.Text;
            MessageBox.Show("Saved successfully");

G3Coder

Разве вы не говорите ему, чтобы он каждый раз шел в один и тот же ряд? Строки[1] сказали бы, что это проблема.

1 Ответов

Рейтинг:
12

CHill60

Как указал G3Coder, вы постоянно перезаписываете строки[1]. Вам нужно каждый раз добавлять строку в dataGridView, например (непроверенный)

string[] rowData = new string[] { textBox1.Text, textBox2.Text,textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, textBox7.Text, textBox8.Text, textBox9.Text, textBox10.Text };
dataGridView1.Rows.Add(row);
Или (также непроверенный)
int i = dataGridView1.Rows.Count + 1;
dataGridView1.Rows.Add();
form1.dataGridView1.Rows[i].Cells[0].Value = textBox1.Text;
form1.dataGridView1.Rows[i].Cells[1].Value = textBox2.Text;
form1.dataGridView1.Rows[i].Cells[2].Value = textBox3.Text;
... etc


Richard Deeming

Если я не ошибаюсь, Rows.Add возвращает новую строку, так что вам не нужны все эти индексаторы. :)

var row = dataGridView1.Rows.Add();
row.Cells[0].Value = textBox1.Text;
...

Maciej Los

Хорошая мысль!

CHill60

Черт возьми! Ты не ошибаешься! Хорошая точка

Member 13684749

спасибо подружке..она работает