Diskuze: Řazení dle data nebo ID

C# .NET .NET (C# a Visual Basic) Řazení dle data nebo ID American English version English version

Avatar
Taikiryo Sakurai:

Ahoj,
mám projekt v MVC a potřeboval bych list seřadit buď podle nejnovějšího data, nebo podle nejvyššího ID, to je jedno. Zkoušel jsem toho dost a nic nefungovalo.

V Controlleru:

public ActionResult Index()
        {

            var posts = databaseRepository.FindAllPosts().ToList();


            return View("Index", posts);
        }

A třída:

public IQueryable<Post> FindAllPosts()
        {
            return db.Posts;
        }

Pokud by někdo věděl jak na to a poradil by mi, byl bych velice rád. Děkuji. :-D :-)

 
Odpovědět 17. května 23:06
Avatar
Odpovídá na Taikiryo Sakurai
Ondřej Štorc:

Na kolekci můžeš provádět řadící operace, třeba pomocí OrderBy
Takže za předpokladu že ti databaseReposi­tory.FindAllPos­ts() vrací IEnumerable<T> tak můžeš udelat něco takového:

databaseRepository.FindAllPosts().OrderByDescending(x=>x.Id).ToList();
Editováno 17. května 23:41
Nahoru Odpovědět 17. května 23:39
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Odpovídá na Ondřej Štorc
Taikiryo Sakurai:

To jsem právě zkoušel různými způsoby a nijak mi to nefungovalo..

 
Nahoru Odpovědět 17. května 23:40
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

a toto

public IQueryable<Post> FindAllPosts()
        {
            return db.Posts.OrderByDescending(x=>x.Id).ToList();
        }

?

Editováno 18. května 7:52
Nahoru Odpovědět  +1 18. května 7:52
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:

Dám vědět odpoledne, jsem teď mimo.

 
Nahoru Odpovědět 18. května 8:02
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:

No tak jsem to zkusil už teď a nejede to..

 
Nahoru Odpovědět 18. května 9:42
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

zkus nějaké kombinace, třeba bez toho "ToList()", apod. Píše to nějakou chybu, nebo se nic nezobrazí, nebo to jen neseřadí?
A co toto?

public ActionResult Index()
        {

            var posts = databaseRepository.FindAllPosts().ToList();


            return View("Index", posts.OrderByDescending(x=>x.Id));
        }
Editováno 18. května 10:48
Nahoru Odpovědět 18. května 10:48
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:

Zkusím, chybu to nehází žádnou. Prostě se to seřadí normálně pod sebe, ale já chci aby to bylo naopak..

 
Nahoru Odpovědět 18. května 10:54
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:

Tak zkusil jsem to zkombinovat a bohužel, zase nic..

 
Nahoru Odpovědět 18. května 11:00
Avatar
Robert Poč
Člen
Avatar
Robert Poč:

posts.OrderBy(x=>x­.Id).ToList();

 
Nahoru Odpovědět 18. května 13:09
Avatar
Odpovídá na Taikiryo Sakurai
sadlomaslox25:

a nebude to nahodou tim ze v HTML/View pouzivas nejakou komponentu ktera ti zmeni poradi tech prvku ? :-)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 18. května 15:35
Avatar
Odpovídá na sadlomaslox25
Taikiryo Sakurai:

Abych se přiznal tak mě tohle vůbec nenapadlo, kouknu na to a dám vědět. :-)

 
Nahoru Odpovědět 18. května 17:04
Avatar
Odpovídá na sadlomaslox25
Taikiryo Sakurai:

Díky moc :-D stačilo ve foreach dopsat .Reverse() :-D
Jen já to zase řešil složitě v controlleru a modelu.. achjo :-D díky

 
Nahoru Odpovědět 18. května 17:17
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

To sice stačí, ale když budeš chtít uživateli umožnit, aby si sloupce mohl seřadit sám, nejlépe podle toho, který právě chce, tak to stejně budeš muset řešit v controlleru...

Nahoru Odpovědět 19. května 8:54
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:

To mi je jasné no :-( ale zatím si vystačím s tímto.

 
Nahoru Odpovědět 19. května 9:28
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:

Kdybys to někdy potřeboval, tak tady
http://www.asp.net/…-application
je návod. Zvládl jsem to podle toho i já a to je co říct... 8-)

Nahoru Odpovědět 19. května 10:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.