Click here to Skip to main content
15,886,873 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to add an automatic numbering of order items to all pages.
Below is an example that works but only numbers on one page. After going to the next page, it starts from the beginning.



C#
public ActionResult ListaZlecen(int? IdStatusZlecenia, int strona = 1)
            {
                var ListaZlecenWszystkich = db.Zlecenia.ToList();
                var userId = User.Identity.GetUserId();
                //var ListaZlecen = db.Zlecenia.Where(p => p.UserId == userId).ToList();
                //var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).Where(p => p.UserId == userId).Skip((strona - 1) * WielkoscStrony).Take(WielkoscStrony).ToList();
                var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).Skip((strona - 1) * WielkoscStrony).Take(WielkoscStrony).ToList();
                //   var zleceniezalacznik = db.ZleceniaZalaczniki.ToList();
    
                var viewodel = new ListaZlecenUzytkownikaViewModel()
                {
                    StronaInfo = new StronaInfo
                    {
    
                        AktualnaStrona = strona,
                        PozycjeNaStrone = WielkoscStrony,
                        WszystkiePozycje = ListaZlecenWszystkich.Count()
    
                    },
                    ListaZlecenUzytkownika = ListaZlecen
                };
    
                return View(viewodel);
            }

and View
 

    @model AplikacjaHelpDesk.ViewModels.ListaZlecenUzytkownikaViewModel
    @using AplikacjaHelpDesk.Infrastructure;
    
    @{
        ViewBag.Title = "Lista Zlecen Użytkownika";
        Layout = "~/Views/Shared/_LayoutAdministracja.cshtml";
    }
    
    
    <div class="container-fluid">
        <img src="~/Content/Images/Layout/Home.png" />
        <a href="link">
            @Html.MvcSiteMap().SiteMapPath()
        </a>
        <h2><span class="glyphicon glyphicon-user"></span> Lista Zleceń </h2>
        <br /><br />
        <div id="divLoading" class="panel panel-primary text-center text-primary" style="display:none;">
            <h3>Proszę czekać ładowane są posty!</h3>
        </div>
        <div id="divLoadingForm" class="panel panel-primary text-center text-primary" style="display:none;">
            <h3>Proszę czekać ładuję formularz</h3>
        </div>
        @*@if (ViewBag.Informacja != null)
                    {
                <div class="alert alert-warning"><h4>@TempData["Dodano-Post"]</h4></div>
            }*@
    
        <table class="table table-responsive table-striped transactions" style="text-combine-upright:all;">
            <tr style="text-transform: uppercase; text-combine-upright:all;">
                <th>
                    <label>Pozycja Nr.</label>
                </th>
                <th>
                    <label>Nr Zlecenia</label>
                </th>
                <th>
                    <label>Data Przyjęcia Zlecenia</label>
                </th>
                <th>
                    <label>Data Planowanego Zakończenia Zlecenia</label>
                </th>
                <th>
                    <label>Data zakończenia zlecenia</label>
                </th>
                <th style="width: 160px;"></th>
                <th style="width: 160px;"></th>
            </tr>
            @{ var i = 0;}
            @foreach (var item in Model.ListaZlecenUzytkownika)
            {
    
                <tr class="panel panel-primary">
                    @*
                            <h5>Zlecenie nr: @Html.DisplayFor(modeItem => item.IdZlecenia)</h5>
           
                    <td>
                            @{i++;}
                            @i
                    </td>
                    <td>
                        <h5>Zlecenie nr: @Html.DisplayFor(modeItem => item.IdZlecenia)</h5>
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DataPrzyjeciaZlecenia)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DataPlanowaniaZakonczenia)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DataZakonczenia)
                    </td>
                    <td>
                        @Ajax.ActionLink("Pokaż Posty Zlecenia", "_ListaPostow", new { idZlecenia = @item.IdZlecenia }, new AjaxOptions()
                   {
                       HttpMethod = "GET",
                       LoadingElementId = "divLoading",
                       UpdateTargetId = "divPozycje",
                       InsertionMode = InsertionMode.Replace
    
                   }, new { @class = "btn btn-primary" })
                    </td>
                    <td>
    
    
                        @Ajax.ActionLink("Dodaj Odpowiedz", "_DodajPost", new { idZlecenia = @item.IdZlecenia }, new AjaxOptions()
                   {
                       HttpMethod = "GET",
                       LoadingElementId = "divLoadingForm",
                       UpdateTargetId = "divDodajPozycje",
                       InsertionMode = InsertionMode.Replace
    
                   }, new { @class = "btn btn-primary" })
                    </td>
    
                </tr>
                <tr style="background: #23527c; color:white;">
                    <td>
                        <label>Opis załącznika</label>
                    </td>
                    <td style="width: 120px;">
                        <label>Załącznik</label>
                    </td>
                </tr>
                <tr class="panel panel-group">
                    <td>
                        @Html.Raw(item.ZleceniaZalaczniki.Opis)
                    </td>
                    <td>
                        <span class="btn btn-primary">
                            @Html.ActionLink("Pobierz", "Download", "Zlecenia", new { nazwaPliku = @item.ZleceniaZalaczniki.NazwaPliku }, null)
                            <span class="glyphicon glyphicon-download" aria-hidden="true"></span>
                        </span>
                    </td>
                </tr>
                <tr id="divDodajPozycje"></tr>
            }
        </table>
    
        <br />
        <div class="btn-group pull-right">
            @Html.LinkStrony(Model.StronaInfo, x => Url.Action("ListaZlecen", new { strona = x }))
        </div>
        <br />
        <hr />
        <div id="divPozycje">
    
        </div>
    </div>


What I have tried:

I tried this way but it creates numbering only on one page. Going to the next numbering is created from the beginning.

@{ var i = 0;}
     <td>
        @{i++;}
        @i
     </td>


I am asking for help in creating the numbering for the entire collection of orders
Posted
Comments
przemo27ns 2-Jan-18 7:36am    
I have 3 orders on each page and I would like all orders to be automatically numbered, for example:
First page 1,2,3
Second page 4,5,6

1 solution

In View

    @{ var i = (Model.StronaInfo.AktualnaStrona - 1) * Model.StronaInfo.PozycjeNaStrone;}

And table

<pre><td>
      @{i++;}
   <h4><span style="color: #23527c;">@i</span></h4>
</td>
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900