Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Automatyczne generowanie formatek dla encji

Chciałem się podzielić z Wami tym, czego się wczoraj dowiedziałem od mojego kolegi Marcina N. :) Rzecz będzie o generowaniu... interfejsu użytkownika. Marcin pokazał mi sztuczkę, dzięki której w minutę mogę wygenerować formatkę prezentującą dane z dowolnej encji. Poniżej znajduje się picture-cast (:P) prezentujący proces generowania.

W projekcie mam zdefiniowane dwie encje:

public class Person
{
    private string _name;
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    private int _age;
    public int Age
    {
        get { return _age; }
        set { _age = value; }
    }
    private Address _address;
    public Address Address
    {
        get { return _address; }
        set { _address = value; }
    }
}
public class Address
{
    private string _street;
    public string Street
    {
        get { return _street; }
        set { _street = value; }
    }
    private int _number;
    public int Number
    {
        get { return _number; }
        set { _number = value; }
    }
    private string _zipCode;
    public string ZipCode
    {
        get { return _zipCode; }
        set { _zipCode = value; }
    }
}


A teraz cała sztuczka:
Kompilujemy projekt. Następnie z menu wybieramy Data -> Add New Data Source....



Uruchamia się kreator. Jako Data Source Type wybieramy Object, ponieważ naszym źródłem danych będzie klasa Person.



W kolejnym kroku wskazujemy klasę Person.



Z menu wybieramy Data -> Show Data Sources.



Okno z lewej prezentuje nam wybraną klasę Person. Za pomocą tego widoku możemy dostosować sposób, w jaki zostanie wygenerowana formatka. Dla każdej encji możemy wybrać czy ma zostać wygenerowana lista tych encji (wtedy zostanie wygenerowany DataGridView), albo szczegóły.



Dla szczegółów zostaną wygenerowane poszczególne kontrolki (tak jak określono).



Teraz łapiemy encję Person i przeciągamy ją na formatkę. VS wygeneruje nam odpowiednie kontrolki. Dla każdego pola detali otrzymujemy etykietę z odpowiednim napisem oraz wybraną (na drzewku) kontrolką.



Co więcej kontrolka ta jest zbindowana do wygenerowanego BindingSource. To wszystko jednym pociągnięciem myszki :)



Jeżeli już o tym wiedzieliście to sobie przypomnieliście :P A tym, którzy, podobnie jak ja, dopiero teraz się o tym dowiedzieli, mam nadzieję, że ta sztuczka się przyda.

A na koniec screen-cast: http://www.nuwanda.ovh.org/res/nblog_viewgen_video.wmv
Opublikowane 8 maja 2007 16:33 przez nuwanda

Komentarze:

# re: Automatyczne generowanie formatek dla encji

9 maja 2007 00:32 by mgrzeg

Swietne! Nie znalem tego, choc wydaje sie, ze zagladalem tam 500 razy!! :)))

Super, ze przygotowales screencast - w ten sposob zainaugurowales nowy etap w zine.net - ja tez mysle o przygotowaniu kilku screencastow obok tekstow. W koncu co obraz, to obraz!!!

# re: Automatyczne generowanie formatek dla encji

9 maja 2007 11:33 by dario-g

Apropo obrazu, nie wiem czy widzieliście http://ikanapka.pl? :)

# re: Automatyczne generowanie formatek dla encji

13 maja 2007 00:36 by mgrzeg

Jeszcze co do samego tekstu - nie moglem sobie przypomniec, gdzie tez rzucilo mi sie to w oczy (i nie pozostalo na dluzej :( ), az wreszcie sobie przypomnialem - lutowy numer msdn mag :)

http://msdn.microsoft.com/msdnmag/issues/07/02/DataPoints/default.aspx

Teraz moge spac spokojnie :)

Komentarze anonimowe wyłączone