我想将当前的observablecollection数据放在按钮点击事件的列表中。 bellow是c#代码,但它给出了错误:对象引用未设置为对象的实例。
ObservableCollection<CheckInData> _CheckInCollection = new ObservableCollection<CheckInData>();
public ObservableCollection<CheckInData> CheckInCollection
{
get { return _CheckInCollection; }
}
public class CheckInData
{
public string RoomNumber { get; set; }
public decimal Price { get; set; }
public string Currecny { get; set; }
public decimal Discount { get; set; }
public string CheckOut { get; set; }
public int TotalDay { get; set; }
public decimal TotalPrice { get; set; }
public int CheckOutYear { get; set; }
public int CheckOutMonth { get; set; }
public int CheckOutDay { get; set; }
public Boolean IncToday { get; set; }
}
private void btnPrintInvoice_Click(object sender, RoutedEventArgs e)
{
DataToExcel.Invoice inv = new DataToExcel.Invoice();
inv._BilledTo = Guest[0];
foreach (CheckInData coll in _CheckInCollection)
{
for (int i = 0; i < _CheckInCollection.Count; i++)
{
inv._RoomPrice.Add(coll.RoomNumber[i].ToString());
}
}
}
答案 0 :(得分:1)
看起来inv._RoomPrice或coll.RoomNumber为空。
答案 1 :(得分:1)
在抛出异常的行上设置一个断点,并检查每个可以为null的变量:inv,inv._RoomPrice,coll,coll.RoomNumber
找到它后,确定您认为应该初始化的位置并修复导致其未初始化的错误。