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.
public ActionResult ListaZlecen(int? IdStatusZlecenia, int strona = 1)
{
var ListaZlecenWszystkich = db.Zlecenia.ToList();
var userId = User.Identity.GetUserId();
var ListaZlecen = db.Zlecenia.OrderBy(w => w.IdZlecenia).Skip((strona - 1) * WielkoscStrony).Take(WielkoscStrony).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