3 Ocak 2014 Cuma

DataTable Kolon Ekleme

DataTable ın kolonlardan oluştuğunu daha önce yazmıştık. Bir DataTable a kolon eklemin birden fazla yolu vardır. Aşağıda buna dair bir örnek bulunmaktadır. Formunuza bir tane buton bir tane datagridview ekledikten sonra butonu çift tıklayıp aşağıdaki kodları yazın.
            // DataTable ımızı tanımlıyoruz
            DataTable dtIsimler = new DataTable();
            // DataTable ımıza kolon eklemek için DataColumn sınıfını kullanıyoruz. 
            DataColumn alan = new DataColumn();
            alan.ColumnName = "adi"; 
            alan.AllowDBNull = true;
            alan.MaxLength = 20;
            alan.DefaultValue = "Ali";
            alan.DataType = System.Type.GetType("System.String");
            // DataColumn sınıfından elde ettiğimiz alanı DataTable ımıza ekliyoruz.
            dtIsimler.Columns.Add(alan);
            
            alan = new DataColumn("soyisim");
            alan.AllowDBNull = true;
            alan.MaxLength = 20;
            alan.DefaultValue = "Boş";
            alan.DataType = System.Type.GetType("System.String");
            dtIsimler.Columns.Add(alan);

            alan = new DataColumn("Yasi", typeof(int));
            alan.AllowDBNull = false;
            alan.DefaultValue = 0;
            dtIsimler.Columns.Add(alan);

            alan = new DataColumn("DYeri", typeof(string), "Bursa");

            alan.AllowDBNull = false;
            dtIsimler.Columns.Add(alan);

            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = dtIsimler;


DataColumn sınıfının 3 farklı şeklini kullanarak DataTable ımıza kolonları ekledik. Yukarıdaki işlemi şu şekilde de yapmamız mümkündür.

            DataTable dtIsimler = new DataTable();
            dtIsimler.Columns.Add("adi", typeof(string));
            dtIsimler.Columns.Add("soyadi", typeof(string));
            dtIsimler.Columns.Add("yasi", typeof(int));
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = dtIsimler;

Ancak bu şekilde tanımladığımızda bazı özellikleri belirleyemediğimizi görebiliriz. (MaxLength, DefaultValue gibi) Eğer bunlarıda belirlemek istersek;

            DataTable dtIsimler = new DataTable();
            dtIsimler.Columns.Add("adi", typeof(string));
            dtIsimler.Columns.Add("soyadi", typeof(string));
            dtIsimler.Columns.Add("yasi", typeof(int));
            dtIsimler.Columns.Add("dyeri", typeof(string));
            dtIsimler.Columns[0].MaxLength = 20;   //0 ilk kolonu 1 ikinci kolonu temsil eder.
            dtIsimler.Columns[1].MaxLength = 20;
            dtIsimler.Columns[3].DefaultValue = "Ankara";
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = dtIsimler;

DataColumn da kullanılabilecek alan tipleri ise aşağıdaki gibidir.
Boolean
Byte
Char
DateTime
Decimal
Double
Int16
Int32
Int64
SByte
Single
String
TimeSpan
UInt16
UInt32
UInt64
Arrays o

1 yorum: