testo più lungo
-
+ Titolo
+
+
+
+
+ testo più lungo... 0123456789
+
-
diff --git a/EgwCoreLib.Razor/DataPager.razor b/EgwCoreLib.Razor/DataPager.razor
index b3f6b1a..be517c4 100644
--- a/EgwCoreLib.Razor/DataPager.razor
+++ b/EgwCoreLib.Razor/DataPager.razor
@@ -36,6 +36,17 @@
{
@totalCount records
}
+ @if (exportEnabled && totalCount > 0)
+ {
+ if (!fileExist)
+ {
+
+ }
+ else
+ {
+ Download Data
+ }
+ }
@if (totalCount > 0)
diff --git a/EgwCoreLib.Razor/DataPager.razor.cs b/EgwCoreLib.Razor/DataPager.razor.cs
index e40d08f..9e096e2 100644
--- a/EgwCoreLib.Razor/DataPager.razor.cs
+++ b/EgwCoreLib.Razor/DataPager.razor.cs
@@ -1,95 +1,9 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
-using System.Net.Http;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Components.Forms;
-using Microsoft.AspNetCore.Components.Routing;
-using Microsoft.AspNetCore.Components.Web;
-using Microsoft.AspNetCore.Components.Web.Virtualization;
-using Microsoft.JSInterop;
namespace EgwCoreLib.Razor
{
public partial class DataPager : ComponentBase
{
- #region Protected Fields
-
- protected bool _showLoading = false;
-
- #endregion Protected Fields
-
- #region Private Properties
-
- private int endPage
- {
- get
- {
- int answ = (int)(currPage / numPages) * numPages + numPages;
- answ = answ < LastPage ? answ : LastPage;
- return answ;
- }
- }
-public void resetCurrPage()
- {
- //await Task.Delay(1);
- currPage = 1;
- }
- private int LastPage
- {
- get
- {
- return Math.Max((int)Math.Ceiling(totalCount / (double)PageSize), 1);
- }
- }
-
- private int nextBlock
- {
- get
- {
- int answ = currPage + numPages;
- answ = answ < LastPage ? answ : LastPage;
- return answ;
- }
- }
-
- private int numPages { get; set; } = 10;
-
- private int prevBlock
- {
- get
- {
- int answ = currPage - numPages;
- answ = answ > 0 ? answ : 1;
- return answ;
- }
- }
-
- // calcola un set 1 .. numPages centrato sulla pagina corrente...
- private int startPage
- {
- get
- {
- int answ = (int)(currPage / numPages) * numPages;
- answ = answ > 0 ? answ : 1;
- return answ;
- }
- }
-
- #endregion Private Properties
-
- #region Protected Properties
-
- protected int _numPage { get; set; } = 1;
-
- protected int _numRecord { get; set; } = 10;
-
- protected int percLoading { get; set; } = 0;
-
- #endregion Protected Properties
-
#region Public Properties
[Parameter]
@@ -110,6 +24,15 @@ public void resetCurrPage()
}
}
+ [Parameter]
+ public bool exportEnabled { get; set; } = false;
+
+ [Parameter]
+ public EventCallback exportRequested { get; set; }
+
+ [Parameter]
+ public string fileName { get; set; } = "";
+
[Parameter]
public EventCallback numPageChanged { get; set; }
@@ -161,19 +84,46 @@ public void resetCurrPage()
#endregion Public Properties
- #region Private Methods
+ #region Public Methods
- private void reportChange()
+ public void resetCurrPage()
{
- numRecordChanged.InvokeAsync(PageSize);
+ //await Task.Delay(1);
+ currPage = 1;
}
- private void reportChangePage()
+ #endregion Public Methods
+
+ #region Protected Fields
+
+ protected bool _showLoading = false;
+
+ protected string exportDir = $"{Directory.GetCurrentDirectory()}\\temp";
+
+ #endregion Protected Fields
+
+ #region Protected Properties
+
+ protected int _numPage { get; set; } = 1;
+
+ protected int _numRecord { get; set; } = 10;
+
+ protected bool fileExist
{
- numPageChanged.InvokeAsync(currPage);
+ get
+ {
+ return File.Exists(fullPath);
+ }
}
- #endregion Private Methods
+ protected string fullPath
+ {
+ get => $"{exportDir}\\{fileName}";
+ }
+
+ protected int percLoading { get; set; } = 0;
+
+ #endregion Protected Properties
#region Protected Methods
@@ -198,5 +148,82 @@ public void resetCurrPage()
}
#endregion Protected Methods
+
+ #region Private Properties
+
+ private int endPage
+ {
+ get
+ {
+ int answ = (int)(currPage / numPages) * numPages + numPages;
+ answ = answ < LastPage ? answ : LastPage;
+ return answ;
+ }
+ }
+
+ private int LastPage
+ {
+ get
+ {
+ return Math.Max((int)Math.Ceiling(totalCount / (double)PageSize), 1);
+ }
+ }
+
+ private int nextBlock
+ {
+ get
+ {
+ int answ = currPage + numPages;
+ answ = answ < LastPage ? answ : LastPage;
+ return answ;
+ }
+ }
+
+ private int numPages { get; set; } = 10;
+
+ private int prevBlock
+ {
+ get
+ {
+ int answ = currPage - numPages;
+ answ = answ > 0 ? answ : 1;
+ return answ;
+ }
+ }
+
+ // calcola un set 1 .. numPages centrato sulla pagina corrente...
+ private int startPage
+ {
+ get
+ {
+ int answ = (int)(currPage / numPages) * numPages;
+ answ = answ > 0 ? answ : 1;
+ return answ;
+ }
+ }
+
+ #endregion Private Properties
+
+ #region Private Methods
+
+ private void reportChange()
+ {
+ numRecordChanged.InvokeAsync(PageSize);
+ }
+
+ private void reportChangePage()
+ {
+ numPageChanged.InvokeAsync(currPage);
+ }
+
+ private async Task requestSave()
+ {
+ showLoading = true;
+ await Task.Delay(1);
+ await exportRequested.InvokeAsync(currPage);
+ showLoading = false;
+ }
+
+ #endregion Private Methods
}
}
\ No newline at end of file