Есть ли ответ в int n = dataGridView1.Rows.Add (); - PullRequest
0 голосов
/ 16 октября 2019

Я работаю над новым проектом, моя проблема в том, что я перестал работать в программировании 2 месяца назад, поэтому я снова вернулся к этой проблеме.

private void LoadData()
{
    con.dataGet("Select * from [User]");
    DataTable dt = new DataTable();
    con.sda.Fill(dt);
    foreach(DataRow row in dt.Rows)
    {
        int n = dataGridView1.Rows.Add(); //Errors here
        dataGridView1.Rows[n].Cells["dgSno"].Value = n +1; //Not part of my database
        dataGridView1.Rows[n].Cells["dgName"].Value = row["Name"].ToString();
        dataGridView1.Rows[n].Cells["dgDob"].Value = Convert.ToDateTime(row["Dob"].ToString()).ToString("ddd/mm/yy");
        dataGridView1.Rows[n].Cells["dgEmail"].Value = row["Email"].ToString();
        dataGridView1.Rows[n].Cells["dgUserName"].Value = row["UserName"].ToString();
        dataGridView1.Rows[n].Cells["dgRole"].Value = row["Role"].ToString();
        dataGridView1.Rows[n].Cells["dgAddress"].Value = row["Address"].ToString();
    }
}

Ошибка: An unhandled exception of type 'System.InvalidOperationException' occured in System.Windows.Forms.dll

1 Ответ

0 голосов
/ 16 октября 2019

Вы должны напрямую воздействовать на DataTable, используя NewRow, инициализировать его и затем Add it:

var row = dt.NewRow();
// init row
dt.Rows.Add(row);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...