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

C# .NET .NET (C# a Visual Basic) ASP.NET MVC 5 Volitelné uspořádání Sloupců z DB American English version English version

Avatar
Majkel
Člen
Avatar
Majkel:

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:

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:

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.