0

我正在尝试从数据库中提取一组数据并将其推入 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]);

它只是说它有无效的论点。我知道我已经很接近了,但我对这一切都很陌生,所以我完全不知道如何进行最后一次跳跃。想法?

4

1 回答 1

1

而不是循环foreach(DataRow row in table.Rows)使用:

dgvCrsLookupResults.DataSource = table;

记住设置:

dgvCrsLookupResults.AutoGenerateColumns = True;

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

在列集合DataPropertyName= ColumnName 中DataTable

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

于 2013-04-05T20:54:16.683 回答