
Mellékelt példa megnyitása előtt szükséges egy UserClassInDataGrid nevű virtuális könyvtár létrehozása, mely a mellékelt példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
Kezdjük a saját osztályunk létrehozásával. Ebbe vegyünk fel különféle típusú változókat és mindegyikhez készítsünk egy-egy property-t is. Jelen példánál csak az adattárolást és a megjelenítést célozzuk meg feladatként, így ehhez elegendő lesz olyan property készítése, mely csak olvasható.
public class User
{
private string name;
private string address;
private DateTime bornDate;
private bool administrator;
public string Name
{
get { return name; }
}
public string Address
{
get { return address; }
}
Az osztályban létrehozunk egy olyan konstruktort, melyen keresztül minden egyes változónknak értéket tudunk adni az adott objektum példány létrehozásakor.
public User(string n, string a, string e, DateTime bd, bool ad)
{
name = n;
address = a;
email = e;
bornDate = bd;
administrator = ad;
}
Ezek után nézzük a felhasználást. A Page osztály Load eseményénél fogjuk létrehozni a megjelenítendő adatainkat. Tesszük ezt úgy, hogy létrehozunk első lépésként egy ArrayList objektumot, mely képes tetszőleges számú más objektum tárolására egy kollekcióban. Ezt követően tetszőleges számban hozzáadunk egy-egy elemet ehhez a kollekcióhoz úgy, hogy létrehozunk egy-egy objektumot a saját osztályunkból.
private void Page_Load(object sender, System.EventArgs e)
{
ArrayList al = new ArrayList();
al.Add(new User("Kovács János", "1112 Budapest, Kunigunda 12.", "xy@hi.hu", new DateTime(1970, 9, 4), true));
al.Add(new User("Nagy Elemér", "7652 Pécs, Kicsi út 232.", "abc@def.hu", new DateTime(1990, 4, 5), false));
Most pedig már csak az van hátra, hogy a DataGrid-hez kössük ezt az ArrayList kollekciót, a többi pedig megy „magától”. A DataGrid a tárolt osztályaink minden publikus és olvasható property-jét automatikusan kiolvassa és ennek megfelelően meg is jeleníti a táblázatban azokat.
DataGrid1.DataSource = al;
DataGrid1.DataBind();
}