我遇到了C#WPF的问题,我想在WPF DataGrid控件中显示一些SQLite数据表.我们将产品的价格存储为NUMERIC(但也尝试为REAL,但它完全相同),但在datagrid控件中它显示为整数,尽管在SQLite数据库浏览器中它显示正确的十进制值.以下是我们将数据填入DataGrid的代码:
ProductsDataGrid.ItemsSource = db.GetDataSet("*", "products").Tables[0].AsDataView();
并且GetDataSet方法如下所示:
public DataSet GetDataSet(string columns, string table, string trailingCommands = "")
{
var sqlcmd = string.Format("select {0} from {1} {2}", columns, table, trailingCommands);
Utility.Log.Info(sqlcmd);
DataSet dataSet = new DataSet();
SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(sqlcmd, this.dbconn);
dataAdapter.Fill(dataSet);
return dataSet;
}
精简版:
该程序在SQLite DB的数据网格中将十进制数显示为int
解决方法:
检查你的SQLite小数分隔符,也就是它.