2011-07-29 13 views
0

を取得する方法のObservableCollection:C#。 WPF。これが私のコレクションである現在の項目

ObservableCollection<CheckInData> _CheckInCollection = new ObservableCollection<CheckInData>(); 
public ObservableCollection<CheckInData> CheckInCollection 
{ 
    get { return _CheckInCollection; } 
} 

public class CheckInData 
{ 
    public string RoomNumber { get; set; } 
    public string Price { get; set; } 
    public string Currecny { get; set; } 
    public string Discount { get; set; } 
    public string CheckOut { get; set; } 
    public string 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; } 
    public string CheckIn { get; set; } 
    public decimal MoneyRate { get; set; } 
} 

は、私は私が私のコレクションをこのようにエクスポート、保存1つのクラスを持っている:

foreach (CheckInData coll in CheckInCollection) 
{ 
    var roomType = (from d in db.SelectRooms where d.roomnumber == coll.RoomNumber select d.roomtype).SingleOrDefault(); 
    inv._RoomType.Add(roomType.ToString()); 
    inv._RoomNumber.Add(coll.RoomNumber.ToString()); 
    inv._CheckIn.Add(coll.CheckIn); 
    inv._CheckOut.Add(coll.CheckOut); 
    inv._DayNight.Add(coll.TotalDay); 
    inv._RoomPrice.Add(coll.Price); 
    inv._Discount.Add(coll.Discount); 
} 

このコードは完璧に動作します。私はどのようにinv._RoomTypeinv._RoomNumberに挿入することができる私の質問は、この観察可能なコレクションとバインディングされているリストビューを持っています...(行)listviewで選択されています。 inv._RoomNumber.Add(coll.RoomNumber(listview selected items? ??))ありがとう

答えて

2

CheckInDataクラスにIsSelectedプロパティを追加してから、ListViewからIsSelectedプロパティをバインドする必要があります。

foreach (CheckInData coll in CheckInCollection.Where(s => s.IsSelected)) 
{ 
... 
+0

おかげでリプレイ。私にとっては不明だった。あなたはそれのためのコードを書くことができますか? :) –

0

説明から、選択したすべてのアイテムをListView UIコントロールから取得する必要があると思います。

この場合、ListViewには、複数選択を有効にしたかどうかによって、ListView.SelectedItemまたはListView.SelectedItemsという2つのプロパティが用意されています。

これらの項目を複数選択したいとします。次に、次のコードはあなたの質問に役立ちます:

foreach(var item in listView.SelectedItems) 
    YourClass.Insert(item as CheckInData); 
関連する問題