Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: ASP.NET MVC 5 Volitelné uspořádání Sloupců z DB

Aktivity
Avatar
Majkel
Člen
Avatar
Majkel:22.5.2015 13:11

Ahoj, potřeboval bych uspořádat sloupce z databáze podle definice od uživatele. Tzn. například ve web.config budu mít položku poradi="Jmeno, Prijmeni, Adresa". A teď bych potřeboval, aby se mi přesně podle tohoto pořadí vygenerovaly informace z databáze.

Začal jsem tedy tak, že si načtu přes Configuration­Manager string s pořadím a ten za pomoci splitu uložím do pole. No a teď to zase potřebuju vyřešit ve View a tady nevím, jak na to. Řešili jste to už někdo?

 
Odpovědět
22.5.2015 13:11
Avatar
Majkel
Člen
Avatar
Odpovídá na Majkel
Majkel:22.5.2015 13:52

Takže jsem dal dohromady zdá se funkční řešení. Ještě by mě zajímal nějaký názor na jeho správnost. Popřípadě, jestli se nejedná o nějakou prasárnu. ASP.NET jsem úplný začátečník a pořád v některých věcech nemám úplně jasno :-)

Takže jsem to vyřešil takto:

Index.cshtml

<table class="table">
    <tr>
        @foreach (var item in @ViewBag.DisplayOrder)
        {
            switch ((string)item.Trim())
            {
                case "firstname":
                    <th>
                        @Html.ActionLink("First Name", "Index", new { sortOrder = ViewBag.NameSortParm })
                    </th>
                    break;
                case "lastname":
                <th>
                    @Html.ActionLink("Last Name", "Index", new { sortOrder = ViewBag.NameSortParm })
                </th>
                    break;
            }

        }

 @foreach (var item in Model)
    {
        <tr>
            @foreach (var mitem in @ViewBag.DisplayOrder)
            {
                switch ((string)mitem.Trim())
                {
                    case "firstname":
                        <td>
                           @Html.DisplayFor(modelItem => item.FirstName)
                        </td>
                        break;
                    case "lastname":
                    <td>
                        @Html.DisplayFor(modelItem => item.LastName)
                    </td>
                        break;
                }
            }
</table>
Editováno 22.5.2015 13:53
 
Nahoru Odpovědět
22.5.2015 13:52
Avatar
Odpovídá na Majkel
Michal Štěpánek:25.5.2015 1:56

Nějak nechápu, jak s tím souvisí web.config, ale sloupce z db se mi zobrazí tak, jak se na ně zeptám...

Nahoru Odpovědět
25.5.2015 1:56
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 3 zpráv z 3.