enhance Pager to support pure responsive Grid format (Columns = 0)

This commit is contained in:
Shaun Walker 2022-01-23 10:40:41 -05:00
parent fd01a40810
commit ad090e62cc

View File

@ -75,19 +75,32 @@
@if (Format == "Grid" && Row != null) @if (Format == "Grid" && Row != null)
{ {
int count = 0; int count = 0;
if (ItemList != null) int rows = 0;
int cols = 0;
if (ItemList != null)
{ {
count = (int)Math.Ceiling(ItemList.Count() / (decimal)_columns) * _columns; if (_columns == 0)
{
count = ItemList.Count();
rows = 1;
cols = count;
}
else
{
count = (int)Math.Ceiling(ItemList.Count() / (decimal)_columns) * _columns;
rows = count / _columns;
cols = _columns;
}
} }
<div class="@Class"> <div class="@Class">
@if (Header != null) @if (Header != null)
{ {
<div class="row"><div class="col">@Header</div></div> <div class="row"><div class="col">@Header</div></div>
} }
@for (int row = 0; row < (count / _columns); row++) @for (int row = 0; row < rows; row++)
{ {
<div class="row"> <div class="row">
@for (int col = 0; col < _columns; col++) @for (int col = 0; col < cols; col++)
{ {
int index = (row * _columns) + col; int index = (row * _columns) + col;
if (index < ItemList.Count()) if (index < ItemList.Count())
@ -160,7 +173,7 @@
private int _displayPages = 5; private int _displayPages = 5;
private int _startPage = 0; private int _startPage = 0;
private int _endPage = 0; private int _endPage = 0;
private int _columns = 1; private int _columns = 0;
[Parameter] [Parameter]
public string Format { get; set; } // Table or Grid public string Format { get; set; } // Table or Grid