Grid
TsgcHTMLComponent_Grid — rozbudowana siatka danych HTML z sortowaniem, filtrowaniem, eksportem CSV/PDF, edycją w miejscu, grupowaniem, wirtualnym przewijaniem i zapytaniami AI, w Delphi, C++ Builder i .NET.
TsgcHTMLComponent_Grid — rozbudowana siatka danych HTML z sortowaniem, filtrowaniem, eksportem CSV/PDF, edycją w miejscu, grupowaniem, wirtualnym przewijaniem i zapytaniami AI, w Delphi, C++ Builder i .NET.
Zdefiniuj Columns, dodaj wiersze (lub powiąż zestaw danych), włącz interaktywne funkcje, których chcesz, a następnie odczytaj właściwość HTML.
TsgcHTMLComponent_Grid
<table> Bootstrap 5 + interaktywny skrypt
Delphi, C++ Builder, .NET
Dodaj pozycję Columns.Add dla każdego pola, dodaj wiersze za pomocą AddRow, włącz ShowSort/ShowFilter/ShowExport, a następnie odczytaj HTML.
uses
sgcHTML_Component_Grid;
var
oGrid: TsgcHTMLComponent_Grid;
begin
oGrid := TsgcHTMLComponent_Grid.Create(nil);
try
oGrid.TableID := 'orders';
oGrid.Striped := True;
oGrid.Hover := True;
oGrid.ShowSort := True;
oGrid.ShowFilter := True;
oGrid.ShowExport := True;
oGrid.Columns.Add.Title := 'Customer';
oGrid.Columns.Add.Title := 'Country';
oGrid.Columns.Add.Title := 'Total';
oGrid.AddRow(['Alfreds', 'Germany', '1,200']);
oGrid.AddRow(['Around the Horn', 'UK', '1,900']);
WebModule.Response := oGrid.HTML; // Bootstrap table + script
finally
oGrid.Free;
end;
end;
// Or bind it straight to a dataset:
oGrid.LoadFromDataSet(qryOrders);
// includes: sgcHTML_Component_Grid.hpp
TsgcHTMLComponent_Grid *oGrid = new TsgcHTMLComponent_Grid(NULL);
try
{
oGrid->TableID = "orders";
oGrid->Striped = true;
oGrid->Hover = true;
oGrid->ShowSort = true;
oGrid->ShowFilter = true;
oGrid->ShowExport = true;
oGrid->Columns->Add()->Title = "Customer";
oGrid->Columns->Add()->Title = "Country";
oGrid->Columns->Add()->Title = "Total";
oGrid->AddRow(OPENARRAY(String, ("Alfreds", "Germany", "1,200")));
oGrid->AddRow(OPENARRAY(String, ("Around the Horn", "UK", "1,900")));
String html = oGrid->HTML; // Bootstrap table + script
}
__finally
{
delete oGrid;
}
using esegece.sgcWebSockets;
var grid = new TsgcHTMLComponent_Grid();
grid.TableID = "orders";
grid.Striped = true;
grid.Hover = true;
grid.ShowSort = true;
grid.ShowFilter = true;
grid.ShowExport = true;
grid.Columns.Add().Title = "Customer";
grid.Columns.Add().Title = "Country";
grid.Columns.Add().Title = "Total";
grid.AddRow(new string[] { "Alfreds", "Germany", "1,200" });
grid.AddRow(new string[] { "Around the Horn", "UK", "1,900" });
string html = grid.HTML; // Bootstrap table + script
Składniki, po które sięgasz najczęściej.
Columns (każda pozycja ma Title, Name, Width, Align); AddRow(values) dołącza wiersz; Rows udostępnia listę bazową rozdzielaną tabulatorami; Clear ją opróżnia.
LoadFromDataSet ma trzy przeciążenia — wszystkie pola, lista nazwanych pól lub limit maksymalnej liczby wierszy — a DataSource steruje odświeżaniem na żywo.
Striped, Bordered, Hover, Responsive, Dark i CSSClass odpowiadają klasom tabel Bootstrap.
ShowSort, ShowFilter, ShowExport (CSV + PDF), InlineEdit z EditMode oraz ColumnReorder dodają zachowanie po stronie klienta.
ShowGrouping + GroupByColumn renderują nagłówki grup; VirtualScroll z VisibleRows i VirtualScrollURL ładuje więcej wierszy w miarę odsłaniania.
AIQueryEnabled dodaje pasek zapytań (AIQueryPlaceholder, AIQueryButtonText, AIQueryButtonStyle); ProcessAIQuery wyzwala zdarzenie OnAIQuery.