我不能用ListView在DataGrid中显示我的数据



我试图填充一个数据网格,但它不工作,我得到这个错误:

CS1922类型SPSDataBlock不能用集合初始化器初始化,因为它不是System.Collections.IEnumerable

代码如下:

private void DisplaySPS()
{
this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Render, new Action(delegate ()
{
List<SPSDatenbautein> items = new List<SPSDatenbautein>();
items.Add(new SPSDatenbautein()
{
_sPSDatenbautein.All_processes,
_sPSDatenbautein.Magnetisierung,
_sPSDatenbautein.Hypot,
_sPSDatenbautein.Continuity,
_sPSDatenbautein.Gesamt_Isolationswiderstand,
_sPSDatenbautein.Gesamt_Leckstrom,
_sPSDatenbautein.Benutzer_Anmeldung,
_sPSDatenbautein.Material_number,
_sPSDatenbautein.Order_number,
_sPSDatenbautein.Serial_number,
_sPSDatenbautein.Continuity_Measurment_Result,
_sPSDatenbautein.Magnetisierung_Measurment_Result,
_sPSDatenbautein.Strom_Leistung,
_sPSDatenbautein.Isolationswiderstand,
_sPSDatenbautein.Leckstrom)
};
SPSDataGrid.ItemsSource = items;
}));
}

我假设您的SPSDatenbaustein包含您在新的SPSDatenbaustein()调用中试图从另一个对象复制的所有属性。

在这种情况下,它应该看起来不像这样:

items.Add(new SPSDatenbautein() {
All_processes =    _sPSDatenbautein.All_processes,
Magnetisierung = _sPSDatenbautein.Magnetisierung,
Hypot = _sPSDatenbautein.Hypot,
//etc..
} ) ;

这个错误解释了它自己,因为你做它的方式你实际上可以像列表一样预填充ienumeration:

List<string> s = new List<string>() {"first", "second"};

工作代码可能是这样的:

SPSDataGrid.ItemsSource = new List<SPSDatenbautein>
{
_sPSDatenbautein.All_processes,
_sPSDatenbautein.Magnetisierung,
_sPSDatenbautein.Hypot,
_sPSDatenbautein.Continuity,
_sPSDatenbautein.Gesamt_Isolationswiderstand,
_sPSDatenbautein.Gesamt_Leckstrom,
_sPSDatenbautein.Benutzer_Anmeldung,
_sPSDatenbautein.Material_number,
_sPSDatenbautein.Order_number,
_sPSDatenbautein.Serial_number,
_sPSDatenbautein.Continuity_Measurment_Result,
_sPSDatenbautein.Magnetisierung_Measurment_Result,
_sPSDatenbautein.Strom_Leistung,
_sPSDatenbautein.Isolationswiderstand,
_sPSDatenbautein.Leckstrom
};

最新更新