Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Řazení dle data nebo ID

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

Aktivity (1)
Avatar
Taikiryo Sakurai:17.5.2016 23:06

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.5.2016 23:06
Avatar
Odpovídá na Taikiryo Sakurai
Ondřej Štorc:17.5.2016 23:39

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.5.2016 23:41
Nahoru Odpovědět 17.5.2016 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:17.5.2016 23:40

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

 
Nahoru Odpovědět 17.5.2016 23:40
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:18.5.2016 7:52

a toto

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

?

Editováno 18.5.2016 7:52
Nahoru Odpovědět  +1 18.5.2016 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:18.5.2016 8:02

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

 
Nahoru Odpovědět 18.5.2016 8:02
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:18.5.2016 9:42

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

 
Nahoru Odpovědět 18.5.2016 9:42
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:18.5.2016 10:48

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.5.2016 10:48
Nahoru Odpovědět 18.5.2016 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:18.5.2016 10:54

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.5.2016 10:54
Avatar
Odpovídá na Michal Štěpánek
Taikiryo Sakurai:18.5.2016 11:00

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

 
Nahoru Odpovědět 18.5.2016 11:00
Avatar
Robert Poč
Člen
Avatar
Robert Poč:18.5.2016 13:09

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

 
Nahoru Odpovědět 18.5.2016 13:09
Avatar
Odpovídá na Taikiryo Sakurai
sadlomaslox25:18.5.2016 15:35

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.5.2016 15:35
Avatar
Odpovídá na sadlomaslox25
Taikiryo Sakurai:18.5.2016 17:04

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

 
Nahoru Odpovědět 18.5.2016 17:04
Avatar
Odpovídá na sadlomaslox25
Taikiryo Sakurai:18.5.2016 17:17

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.5.2016 17:17
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:19.5.2016 8:54

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.5.2016 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:19.5.2016 9:28

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

 
Nahoru Odpovědět 19.5.2016 9:28
Avatar
Odpovídá na Taikiryo Sakurai
Michal Štěpánek:19.5.2016 10:00

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.5.2016 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.