我正在尝试显示来自tblSysproStock
表的数据并将其显示在数据网格中。表中的某些列数据类型为浮点数。
以下是我希望如何在数据网格中加载数据的代码段:
private void FillSysproDataGrid()
{
using (DataClassesDataContext DC = new DataClassesDataContext())
{
dgSysproStock.ItemsSource = DC.tblSysproStocks.Where<tblSysproStock>(c => c.StockID != null)
.Select<tblSysproStock, SSData>(m => new SSData()
{
SID = m.StockID,
SCode = m.StockCode,
SDescription = m.StockDescription,
SConvFactAltUom = (float)m.ConvFactAltUom, //-- Here is the problem
...
});
}
}
我使用的课程:
public struct SSData
{
public string _ss;
public int SID { get; set; }
public string SCode { get; set; }
public string SDescription { get; set; }
public float SConvFactAltUom { get; set; }
...
}
现在我得到的错误是 -
无法将null值分配给System.Single类型的成员 这是一个不可为空的值类型。
现在我不知道如何使用我必须在 datagrid 中显示数据的代码来访问我的复杂对象的属性。如果有人可以提供帮助,我会非常感激。谢谢!
答案 0 :(得分:1)
这里的问题是您要将null
值分配给float
,这不是可以为空的类型(请参阅Nullable Types)。
使用float?
或更改分配值的方式,以便在null
时处理大小写。