2016-04-05 11 views
0

Uygulamamda, ürünlerin tutulduğu tüm konumların Konum adını ve Toplama Önceliğini (En Düşük seçili) içeren bir ListView var. Bunun yanı sıra, ben de geçici Liste en bireysel bir ürün saklanır sadece yer içermesini oluşturma Örneğin: -.Liste nasıl sıralanır <String> ListView'da bir sütundaki verileri kullanarak

  LISTVIEW         List<String> 
      --------         ------------ 
__________________________     __________________________ 
|Location |Picking Priority|    |   Location   | 
|---------|----------------|    |--------------------------| 
| A |  100  |    |   A    | 
| B |  50  |    |   C    | 
| C |  500  |    |   D    | 
| D |  150  |    |__________________________| 
|_________|________________| 

ne olmasını istediğim Toplama Önceliği dayalı sipariş edilmesi Liste olduğu ListView'de bu konumun en düşükten en yükseğine kadar.

Aslında bu şimdi şu şekilde görünecektir yukarıda listesi anlamına gelecektir: -

__________________________    
|   Location   | 
|--------------------------| 
|   A    | 
|   D    | 
|   C    | 
|__________________________| 

Nasıl bunu yapmak mümkün olurdu?

+2

bu bir Liste olmalı mı? Bir Liste olamaz ve bir Konum ve Öncelikli bir özellik kategorisinde tanımlanamaz mı? bu şekilde listeyi yapabilirsin.OrderBy (d => d.Priority) .Select (d => d.Location) .ToList(); – Gusman

+0

İdeal olarak, mevcut herhangi bir kodu engellememek için Liste olmalıdır. –

cevap

2

Öğeleri liste öğelerini temel alarak sipariş edebilirsiniz, çirkin, yavaştır (her iki özelliğe sahip bir sınıf kullanmaktan daha yavaştır) ancak işe yarayabilir.

Ben ListViewItem.Text [1] .Text (tamsayı biçiminde) öncelikli sütundur konumu ve ListViewItem.Subitems adını içerir varsayalım:

var items = theListView.Items.Cast<ListViewItem>(); 
var sortedList = theStringList.OrderBy(d => items.Where(i => i.Text == d).Select(i => int.Parse(i.Subitems[1].Text)).First()).ToList(); 
+0

Bu gerçekten iyi çalışıyor. Size katılıyorum, bir sınıf kullanmak daha iyi olurdu ama alternatif olarak, hala oldukça hızlı çalışıyor. –

İlgili konular