Pliki cookie pomagają nam udostępniać nasze usługi. Korzystając z tych usług, zgadzasz się na użycie plików cookie. Więcej informacji
Sz@rk API – StandardGrid cz.3

2010-06-26

W poprzedniej części naszego przykładu http://tgsoft.pl/Blog.aspx?id=11 uzyskaliśmy standardowe okno z tabelą danych, z aktywnym Menu kontekstowym otwieranym prawym przyciskiem myszy. Uzyskujemy tutaj wiele wbudowanych funkcji programu, jak Drukowanie, Eksport danych do Excela, Filtrowanie, Sortowanie, Grupowanie danych. Dodaliśmy też standardowe przyciski do paska narzędziowego.

Wszystko to wystarczy do typowych zastosowań, ale w przypadku większych potrzeb musimy mieć możliwość dodawania własnych przycisków do paska narzędziowego i wykonywania akcji użytkownika.

W tym celu dodamy kilka linii do naszego kodu:

  • Nową przestrzeń nazw
    using TGSoft.API.Controls;
  • Prywatną zmienną, która będzie reprezentować nasz przycisk (klasa BarButtonItem zdefiniowana jest w dodanej wyżej przestrzeni nazw)
    privateBarButtonItem myButton1;
  • Utworzymy instancję klasy naszego przycisku
    myButton1 = sg.AddNewButton("Test przycisku", true);
  • Dodamy procedurę wykonywaną po wciśnięciu przycisku
    myButton1.ItemClick += myButton1_Click;
  • Oraz defincję tej procedury
private void myButton1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Wybrano opcję Użytkownika");
}

Poniżej cały kod naszego programu z wyróżnionymi nowymi liniami:

namespace Szark
{
    using System;
    using System.Windows.Forms;
    using TGSoft.API.Forms;
    using TGSoft.API.Controls;
 
    public partial class Form1 : System.Windows.Forms.Form
    {
        private BarButtonItem myButton1;
 
        public Form1(object sender)
        {
            this.InitializeComponent();
        }
 
        public void Main()
        {
            string klucz = "8d5afc95-d2d6-4ccd-9e17-eb5bf85262c5";
            StandardGrid sg = new StandardGrid(klucz, "");
 
            sg.Text = "Lista pracowników";
            sg.SetColumnProperties("nazwisko", "Nazwisko", 150, true);
            sg.SetColumnProperties("imie_pierwsze", "Imię", 100, true);
            sg.SetColumnCaption("data_urodzenia", "Dt urodz.");
            sg.SetColumnCaption("data_przyjecia", "Dt pracy");
            sg.SetColumnCaption("wymiar_cz_pracy", "Etat");
            sg.SetColumnLeft("kod");
            sg.SetColumnRight("stawka");
 
            sg.AddPrintPreviewButtons();
            sg.AddFastReportButton("kp", "kartoteka");
 
            myButton1 = sg.AddNewButton("Test przycisku", true);
            myButton1.ItemClick += myButton1_Click;
 
            sg.ShowDialog();
        }
 
        private void myButton1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Wybrano opcję Użytkownika");
        }
    }
}

A oto efekt działania naszego programu:

W konstruktorze klasy przycisku mamy dwa parametry:

AddNewButton("Test przycisku", true);
  • Pierwszy to tekst (opis) przycisku. W naszym przykładzie "Test przycisku"
  • Drugi przyjmuje wartości
    • true - wtedy nasz przycisk tworzy nową sekcję, czyli oddzielony jest od poprzedniego przycisku pionową kreską
    • false - nie będzie tworzona nowa sekcja

Po lekturze naszych pierwszych dokumentów na temat Sz@rk API, możesz już budować własne bardzo zaawansowane rozwiązania, które podniosą walory użytkowe naszego systemu dostosowując go do Twoich specyficznych wymagań.

Dla przypomnienia cały wątek o API: http://tgsoft.pl/Blog.aspx?tag=API