2013年5月27日月曜日

DataGridViewの型チェックエラー回避 [C#]

データベースから持ってきたDataTableをDataGridViewにバインドして入力してたら


[入力文字列の形式が正しくありません。]


って型チェックエラーが起きる・・・



なんでも入力したいのに。


SqlDataAdapter.Fillだと絶対型付きになっちゃうのかな・・・


SqlDataReaderでDataTableを自分で作ったら型なし。

--------------------------------------------------------

SqlDataReader sqlDr = sqlCmd.ExecuteReader();

for (int i = 0; i < sqlDr.FieldCount; i++)
{
    selectData.Columns.Add(sqlDr.GetName(i));
}

if (sqlDr.HasRows)
{
    object[] Rows = new object[sqlDr.FieldCount];
    
    while (sqlDr.Read())
    {
        for (int i = 0; i < sqlDr.FieldCount; i++)
        {
            Rows[i] = sqlDr.GetSqlValue(i);
        }

        selectData.Rows.Add(Rows);
    }
}

sqlDr.Close();

--------------------------------------------------------

もっと簡単にできんの・・・