DB Explorer: Standardmäßig zur letzten Seite springen
- Backend: page=-1 wird als 'letzte Seite' interpretiert (COUNT + Berechnung) - Frontend: Tabellen-Klick ruft page=-1 auf statt page=1 - Aufgelöster page-Wert aus API-Response für korrekte Anzeige (34/34 statt -1/34)
This commit is contained in:
1 parent
fea605dfe5
commit
229e6d9e53
2 files changed
+15
-3
No files matched your search
@@ -67,11 +67,22 @@ public static class DatabaseExplorerEndpoint
|
||||
// Pagination
|
||||
var page = 1;
|
||||
var pageSize = 1000;
|
||||
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p) && p > 0)
|
||||
page = p;
|
||||
if (ctx.Request.Query.TryGetValue("page", out var pageStr) && int.TryParse(pageStr, out var p))
|
||||
page = p; // p == -1 → letzte Seite
|
||||
if (ctx.Request.Query.TryGetValue("pageSize", out var psStr) && int.TryParse(psStr, out var ps) && ps > 0 && ps <= 10000)
|
||||
pageSize = ps;
|
||||
|
||||
// Bei page == -1 → letzte Seite berechnen
|
||||
if (page == -1)
|
||||
{
|
||||
var count = conn.ExecuteScalar<long>($"SELECT COUNT(*) FROM \"{name}\"");
|
||||
page = Math.Max(1, (int)Math.Ceiling((double)count / pageSize));
|
||||
}
|
||||
else if (page < 1)
|
||||
{
|
||||
page = 1;
|
||||
}
|
||||
|
||||
var offset = (page - 1) * pageSize;
|
||||
|
||||
// Spalten-Info
|
||||
|
||||
Reference in new issue
Block a user