0

SqlServerCe データベースとデータセットを使用しています。データベースへのデータ転送は問題ありません。データベースには、値を適切に表示する double 値の列が 2 つあります。データベースから DataGridview にこれらの値を入力すると、二重値が Int として表示されます。必要に応じて、コードの一部を次に示します。

if (rdb_FillData.Checked)
        {
            dbDataSet.AppDataDataTable dTable = new App1.dbDataSet.AppDataDataTable();
            AppDataTableAdapter.Fill(dTable);
            AppDataBindingSource.DataSource = dTable;
            AppDataDataGridView.Refresh();
        }
4

2 に答える 2

0

Datatable にデータが入力された後は、DataType を変更できません。ただし、以下に示すように、データ テーブルを複製し、列の型を変更して、以前のデータ テーブルから複製されたテーブルにデータをロードすることができます。

列のデータ型を Decimal に変更するサンプル コード

DataTable dtCloned = dt.Clone();
dtCloned.Columns[0].DataType = typeof(Decimal);
foreach (DataRow row in dt.Rows) 
{
    dtCloned.ImportRow(row);
}
于 2012-06-04T08:52:57.937 に答える
0

dTable の値を確認してください。値が正しい場合は、列を手動で作成した可能性があり、列の型が間違っています。dTable の値が間違っている場合は、AppDataDataTable 列の型が間違っている可能性があります。

于 2012-06-04T08:28:59.270 に答える