QuickStart
Ta première fiche sgcUI
Crée une application VCL, dépose un TsgcVCLGrid de la page de palette SGC Grid sur la fiche, double-clique sur la fiche pour obtenir FormCreate et saisis les lignes ci-dessous. Appuie sur F9. La même grille en C++Builder et dans une application .NET WinForms se trouve dans les autres onglets.
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 prend les valeurs dans l'ordre des colonnes. UpdateRow prend des noms de champs, donc un message qui ne porte qu'un prix ne modifie que le prix, et une clé qui n'existe pas encore est insérée. Les colonnes peuvent aussi être ajoutées à la conception avec l'éditeur de colonnes, et un TsgcGridSource_DataSet de la même page de palette remplit la grille à partir de n'importe quel 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 utilise les mêmes composants via les en-têtes et les bibliothèques que construit l'installeur C++Builder. Les tableaux ouverts de Delphi se passent avec la macro OPENARRAY. Ou laisse le code de côté, dépose le TsgcVCLGrid sur la fiche et définis les colonnes dans l'inspecteur d'objets.
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);
}
}
Les noms de classes suivent ceux de Delphi : TsgcWinFormsGrid pour WinForms, TsgcWpfGrid pour WPF, avec les mêmes membres Columns et Data sur chacune. Les packages WinForms ciblent .NET Framework 4.7.2 ainsi que .NET 8, 9 et 10 pour Windows.