我正在尝试从数据库中提取一组数据并将其推送到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]);
它只是说它有无效的参数。我知道我很亲近,但我对这一切都是新手,所以我完全迷失了如何进行最后一次跳跃。想法?
答案 0 :(得分:1)
而不是循环foreach(DataRow row in table.Rows)
使用:
dgvCrsLookupResults.DataSource = table;
记住集合:
dgvCrsLookupResults.AutoGenerateColumns = True;
或者在设计器中为DataGridView创建一个列。
在DataPropertyName
DataTable
= ColumnName中
在这种情况下 - > dgvCrsLookupResults.AutoGenerateColumns = False;