将datarow添加到datagridview只添加到第一列

时间:2013-04-05 20:32:32

标签: c# datagridview datatable

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

它只是说它有无效的参数。我知道我很亲近,但我对这一切都是新手,所以我完全迷失了如何进行最后一次跳跃。想法?

1 个答案:

答案 0 :(得分:1)

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

dgvCrsLookupResults.DataSource = table;

记住集合:

dgvCrsLookupResults.AutoGenerateColumns = True;

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

DataPropertyName

列集DataTable = ColumnName中

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