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= 内の列名DataTable

この場合 ->dgvCrsLookupResults.AutoGenerateColumns = False;

于 2013-04-05T20:54:16.683 に答える