将数据row添加到datagridview中,只添加到第一列

本文关键字:添加 一列 row 数据 datagridview | 更新日期: 2023-09-27 18:07:33

我正试图从数据库中提取一组数据,并将其推入datagridview。问题是,当我这样做时,我得到"system.data"。datarow",它只将它添加到第一列(我有5个)。

SqlCommand sqlCom = new SqlCommand("some SQL query string", "SQL database connection info");
SqlDataAdapter adapter = new SqlDataAdapter(sqlComm);
DataTable table = new Datatable();
if (methodType = "SELECT")
{
    sqlConn.Open();
    adapter.fill(table);
    foreach (DataRow row in table.Rows)
    {
        dgvCrsLookupResults.Rows.Add(row[0]);
        dgvCrsLookupResults.Rows.Add(row[1]);
        dgvCrsLookupResults.Rows.Add(row[2]);
        dgvCrsLookupResults.Rows.Add(row[3]);
        dgvCrsLookupResults.Rows.Add(row[4]);
    }
}

显然,这只填满了第一列,但我无论如何也想不出如何将它添加到每一列中。当我使用

dgvCrsLookupResults.Columns.Add(row[0]);

它只是说它有无效参数。我知道我已经很接近了,但我对这一切都很陌生,所以我完全不知道如何完成最后一跳。想法吗?

将数据row添加到datagridview中,只添加到第一列

使用:

代替循环foreach(DataRow row in table.Rows)
dgvCrsLookupResults.DataSource = table;

记得设置:

dgvCrsLookupResults.AutoGenerateColumns = True;

或在设计器中为您的DataGridView创建列。

In column set DataPropertyName = ColumnName In DataTable

在这种情况下-> dgvCrsLookupResults.AutoGenerateColumns = False;