在类初始化程序C#WPF中访问复杂对象属性

时间:2015-05-07 08:16:02

标签: c# wpf linq datagrid

我正在尝试显示来自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 中显示数据的代码来访问我的复杂对象的属性。如果有人可以提供帮助,我会非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

这里的问题是您要将null值分配给float,这不是可以为空的类型(请参阅Nullable Types)。

使用float?或更改分配值的方式,以便在null时处理大小写。