버튼 클릭 이벤트에서 텍스트 상자로 채울 observablecollection이 있습니다. 내 프로젝트에서 하나의 클래스 목록입니다 >> public List _RoomNumber = new List(); 나는 observablecollection 값을 _RoomNumber리스트로 보내고 싶다. 예를 들어, observablecollection이이 4 가지 값을 가지고 있다면 : 15, 20, 2323, 3232 _RoomNumber 컨텍스트가 같아야합니다. 15, 20, 2323, 3232WPF C#. observablecollection을 List에 넣습니다.
제 질문에 대한 답변을 드리겠습니다. 이 내 ObservableCollection에가 :
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; }
}
이 메신저 목록을 넣어하려고 방법이다. 문제는 observablecollection이 102와 305를 포함한다는 것입니다. _RoomNumber는 값 '1'만 가져옵니다. , 기존 List
인스턴스를 다시 사용하려는 경우가
var roomnumbers = CheckInCollection.Select(x => x.RoomNumber);
inv._RoomNumber = new List(roomnumbers);
를 사용하거나 할 수
inv._RoomNumber.Clear();
inv._RoomNumber.AddRange(roomnumbers);
을
private void btnPrintInvoice_Click(object sender, RoutedEventArgs e)
{
//This is Class where my List _RoomNumber is
DataToExcel.Invoice inv = new DataToExcel.Invoice();
foreach (CheckInData coll in CheckInCollection)
{
for (int i = 0; i < _CheckInCollection.Count; i++)
{
inv._RoomNumber.Add(coll.RoomNumber[i].ToString());
}
}
}
클릭 이벤트에서 무엇을하려고하는지 이해할 수 없습니다. 왜 같은 컬렉션에 두 반복이 필요합니까? 내가 아는 한 CheckInCollection에서 모든 roomnumbers를 List .. right ..로 가져와야한다는 것을 이해합니다. – Bathineni