2009-07-08 13 views
0

Ich bin sicher, dass dies eine dumme Frage ist, aber wie würde ich eine Auslagerungsliste von gefilterten Elementen bekommen?Subsonic 3 getpaged Filter Frage

Hier ist, wie ich am Ende, es zu tun:

PagedList<Company> company = Company.GetPaged(1, 10); 

var list = Company.Find(x => x.CompanyName.ToLower().Contains(query.ToLower())); 
company .Clear(); 

foreach (var x in list) 
    company .Add(x); 

return View(company); 

Mit anderen Worten: ich find auf den Tisch tun möchten, und geben einen ausgelagerten Liste der Ergebnisse.

Dank!

+0

Wie wäre es mit der Veröffentlichung Ihrer eigenen Antwort? – Ted

Antwort

0

Es gibt ein fantastisches Beispiel dafür in NerdDinner.

Wenn Sie Probleme haben, es zu finden, lassen Sie es mich wissen und ich werde den Code für Sie veröffentlichen.

+0

Danke, ich habe NerdDinner angeschaut und gefunden, wovon du sprichst. Ich hatte Probleme mit der Fehlermeldung, dass es kein Aggregat oder keine Gruppe gab. Ich habe es etwas anders gelöst. – chad

0

Eigentlich ist es ziemlich einfach, die ausgelagerten Liste zu erhalten und Sie sagten, die Antwort in Ihrer Frage

Mit anderen Worten: ich find auf die Tabelle tun möchten, und geben einen ausgelagerten Liste von die Ergebnisse .

  • Erstellen Sie Ihre LINQ-Abfrage (auf dem Tisch einen Fund machen)
  • New up ein SubSonic.Schema.PagedList (T) (eine ausgelagerten Liste zurück)

Zum Beispiel:

var list = Company.Find(x => x.CompanyName.ToLower().Contains(query.ToLower())); 
var paged = new SubSonic.Schema.PagedList<Company>(list,1,10)