row/pag:
-
@code {
+
+ void HandlePaginationItemClick(string page)
+ {
+ currPage = int.Parse(page);
+ reportChangePage();
+ }
+
+ private int LastPage
+ {
+ get
+ {
+ return Math.Max((int)Math.Ceiling(totalCount / (double)PageSize), 1);
+ }
+ }
+
[Parameter]
public int totalCount { get; set; } = 0;
protected int _numRecord { get; set; } = 10;
+ protected int _numPage { get; set; } = 1;
[Parameter]
- public int numRecord
+ public int PageSize
{
get
{
@@ -39,20 +76,44 @@
set
{
bool doReport = !_numRecord.Equals(value);
- _numRecord = value;
if (doReport)
{
+ _numRecord = value;
reportChange();
}
}
}
+ [Parameter]
+ public int currPage
+ {
+ get
+ {
+ return _numPage;
+ }
+ set
+ {
+ bool doReport = !_numPage.Equals(value);
+ if (doReport)
+ {
+ _numPage = value;
+ reportChangePage();
+ }
+ }
+ }
+
[Parameter]
public EventCallback
numRecordChanged { get; set; }
+ [Parameter]
+ public EventCallback numPageChanged { get; set; }
private void reportChange()
{
- numRecordChanged.InvokeAsync(numRecord);
+ numRecordChanged.InvokeAsync(PageSize);
+ }
+ private void reportChangePage()
+ {
+ numPageChanged.InvokeAsync(currPage);
}
}
\ No newline at end of file