2012-06-04 91 views
0

我正在使用SqlServerCe數據庫和數據集。將數據傳輸到數據庫沒有問題。數據庫中有兩個雙值列正確顯示值。當我用這些值從數據庫填充DataGridview時,double值顯示爲Int。如有必要,以下是部分代碼。DataGridView顯示Int而不是Double值

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

可以檢查dTable是否有十進制值與否。 –

+0

我認爲問題是dTable。我改變了表格格式。現在當我檢查數據類型時,它顯示我是int而不是double。 – pikk

回答

0

在Datatable填充數據後,您無法更改DataType。但是,您可以克隆數據表,更改列類型並將數據從以前的數據表加載到克隆的表中,如下所示。

示例代碼更改列的數據類型爲十進制

DataTable dtCloned = dt.Clone(); 
dtCloned.Columns[0].DataType = typeof(Decimal); 
foreach (DataRow row in dt.Rows) 
{ 
    dtCloned.ImportRow(row); 
} 
0

在dTable中檢查您的值,如果它們爲true,那麼您可能已經手動創建了列並且列類型是錯誤的。 如果dTable值錯誤,也許你的AppDataDataTable列類型是錯誤的。