Klasa StandardGrid umożliwia definiowanie niezależnego okna z tabelą danych i własnym paskiem narzędziowym. To w zupełności wystarcza w standardowych rozwiązaniach oraz rozszerzeniach systemu raportowania.
Dla bardziej wymagających, oferujemy kontrolkę (klasę) GridControl z przestrzeni nazw TGSoft.API.Controls. Kontrolkę taką możemy umieścić (zadokować) w dowolnym miejscu naszej podstawowej formy. Kontrolkę można wykorzystać do definicji okna z zakładkami (TabControl), gdzie w kolejnych stronach będą różne tabele danych.
W naszym przykładzie zdefiniujemy okno dialogowe, w którym GridControl zostanie umieszczony w panelu w środku formy. Dla przykładu dodamy dwie kontrolki CheckBox w górnej części formy. Typowe okno dialogowe zawiera przyciski w dolnej części, które również umieszczamy za pomocą Sz@rk Designer. Do przycisku [OK] dodajemy zdarzenie wyświetlające aktualnie podświetlony rekord w tabeli danych, kontrolki GridControl (Pole „nazwisko” pracownika).
Tym razem tabela danych będzie częścią naszego podstawowego okna, dlatego pozostawiamy wywołanie formy: this.ShowDialog(); w metodzie Main()
Poniżej pełny kod naszego programu:
namespace Szark
{
using System;
using System.Windows.Forms;
public partial class Form1 : System.Windows.Forms.Form
{
private TGSoft.API.Controls.GridControl g1;
public Form1(object sender)
{
this.InitializeComponent();
button1.Click += button1_click;
string klucz = "8d5afc95-d2d6-4ccd-9e17-eb5bf85262c5";
g1 = new TGSoft.API.Controls.GridControl(panel1, klucz, "");
g1.AddPrintPreviewButtons();
}
public void Main()
{
this.ShowDialog();
}
private void button1_click(object sender, EventArgs e)
{
MessageBox.Show(g1.GetFieldValue("nazwisko").ToString());
}
}
}
Pierwszy parametr konstruktora klasy GridControl to nazwa kontrolki, w której zadokowana zostanie tabela. W naszym przykładzie to panel1.
A oto efekt działania naszego programu, po naciśnięciu przycisku [OK]
Dla przypomnienia, drugi parametr konstruktora klucz, to identyfikator naszego zapytania SQL, które zdefiniowane zostało w Sz@rk SQL. Patrz pierwszy przykład:
http://tgsoft.pl/Blog.aspx?id=8
W klasie GridControl używamy tych samych metod, które opisaliśmy w przykładach klasy StandardGrid, np.: SetColumnProperties, SetColumnCaption, SetColumnLeft, SetColumnRight, AddFastReportButton.