QuickStart
Erstelle eine VCL-Anwendung, ziehe ein TsgcVCLGrid von der Palettenseite SGC Grid auf das Formular, doppelklicke auf das Formular, um FormCreate zu erzeugen, und tippe die folgenden Zeilen ein. Drücke F9. Dasselbe Grid in C++ Builder und in einer .NET-WinForms-Anwendung findest du auf den anderen Tabs.
uses
SysUtils, Classes, Controls, Forms,
sgcGrid_Columns, sgcGrid_Data, sgcGrid_VCL;
type
TForm1 = class(TForm)
sgcVCLGrid1: TsgcVCLGrid;
procedure FormCreate(Sender: TObject);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
sgcVCLGrid1.Align := alClient;
sgcVCLGrid1.Columns.Add('Symbol', 'Symbol');
sgcVCLGrid1.Columns.Add('Price', 'Price', gdtFloat).DisplayFormat := '0.00';
sgcVCLGrid1.Columns.Add('Volume', 'Volume', gdtInteger);
sgcVCLGrid1.Data.AppendRow('MSFT', ['MSFT', 412.5, 1200]);
sgcVCLGrid1.Data.AppendRow('AAPL', ['AAPL', 228.1, 3400]);
sgcVCLGrid1.Data.UpdateRow('MSFT', ['Price', 'Volume'], [413.1, 1350]);
end;
AppendRow nimmt die Werte in der Reihenfolge der Spalten. UpdateRow nimmt Feldnamen, sodass eine Nachricht, die nur einen Preis enthält, auch nur den Preis ändert, und ein Schlüssel, den es noch nicht gibt, eingefügt wird. Die Spalten lassen sich auch zur Entwurfszeit mit dem Columns-Editor hinzufügen, und ein TsgcGridSource_DataSet von derselben Palettenseite füllt das Grid aus jedem TDataSet.
#include <vcl.h>
#include "sgcGrid_Columns.hpp"
#include "sgcGrid_Data.hpp"
#include "sgcGrid_VCL.hpp"
void __fastcall CreateGrid(TForm *Form)
{
TsgcVCLGrid *Grid = new TsgcVCLGrid(Form);
Grid->Parent = Form;
Grid->Align = alClient;
Grid->Columns->Add("Symbol", "Symbol", gdtText);
Grid->Columns->Add("Price", "Price", gdtFloat)->DisplayFormat = "0.00";
Grid->Columns->Add("Volume", "Volume", gdtInteger);
Grid->Data->AppendRow("MSFT", OPENARRAY(Variant,
(Variant("MSFT"), Variant(412.5), Variant(1200))));
Grid->Data->AppendRow("AAPL", OPENARRAY(Variant,
(Variant("AAPL"), Variant(228.1), Variant(3400))));
}
C++ Builder verwendet dieselben Komponenten über die Header und Bibliotheken, die der C++ Builder-Installer erzeugt. Delphi-Open-Arrays werden mit dem Makro OPENARRAY übergeben. Oder verzichte auf den Code, ziehe das TsgcVCLGrid auf das Formular und lege die Spalten im Objektinspektor fest.
using System;
using System.Windows.Forms;
using esegece.sgcGrid;
internal static class Program
{
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Form oForm = new Form { Text = "My first sgcUI form", Width = 640, Height = 360 };
TsgcWinFormsGrid oGrid = new TsgcWinFormsGrid { Dock = DockStyle.Fill };
oGrid.Columns.Add("symbol", "Symbol");
oGrid.Columns.Add("price", "Price", TsgcGridDataType.gdtFloat).DisplayFormat = "0.00";
oGrid.Columns.Add("volume", "Volume", TsgcGridDataType.gdtInteger);
oGrid.Data.AppendRow("MSFT", "MSFT", 412.5, 1200);
oGrid.Data.AppendRow("AAPL", "AAPL", 228.1, 3400);
oGrid.Data.UpdateRow("MSFT", new[] { "price", "volume" }, new object[] { 413.1, 1350 });
oForm.Controls.Add(oGrid);
Application.Run(oForm);
}
}
Die Klassennamen folgen denen von Delphi: TsgcWinFormsGrid für WinForms, TsgcWpfGrid für WPF, jeweils mit denselben Membern Columns und Data. Die WinForms-Packages zielen auf .NET Framework 4.7.2 sowie .NET 8, 9 und 10 für Windows.