﻿
{"id":206,"date":"2012-03-16T21:51:29","date_gmt":"2012-03-16T21:51:29","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=206"},"modified":"2012-04-25T07:20:12","modified_gmt":"2012-04-25T07:20:12","slug":"ado-net-c-datagridview-nesnesi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/ado-net-c-datagridview-nesnesi\/","title":{"rendered":"ADO.NET &#8211; C# DataGridView Nesnesi"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Bu yaz\u0131mda veri kontrollerinden olan DataGridView nesnesini ayr\u0131nt\u0131l\u0131 bir bi\u00e7imde anlatmaya \u00e7al\u0131\u015faca\u011f\u0131m.Sadece \u00f6zellikleri baz al\u0131narak de\u011fil,veritaban\u0131 ba\u011flant\u0131s\u0131 kurup,bir ka\u00e7 ufak uygulama g\u00f6sterece\u011fim.<br \/>\n<!--more--><span style=\"color: #ff0000;\"><strong>DataGridView\u00a0<\/strong><\/span><br \/>\nK\u0131saca DataGridView en esnek bi\u00e7imde verilerimizi listelemeye yarayan bir kontrold\u00fcr.<br \/>\n\u015eimdi formumuza bir DataGridView kontrol\u00fc ekleyelim ve formun Load olay\u0131na veritaban\u0131ndan \u00e7ekilen verileri kontrol\u00fcm\u00fczde g\u00f6sterelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n          SqlConnection baglanti = new SqlConnection(&quot;server=GEN\u00c7AY-GEN\u00c7AY;database=northwind;trusted_connection=true;&quot;);\r\n        SqlDataAdapter dta;\r\n        DataTable dt=new DataTable();\r\n        private void Form1_Load(object sender, EventArgs e)\r\n        {\r\n            dta = new SqlDataAdapter(&quot;Select * from Personeller&quot;,baglanti);\r\n            dta.Fill(dt);\r\n            dataGridView1.DataSource = dt;\r\n        }\r\n<\/pre>\n<p>Yukarda veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 yap\u0131p, DataGridView kontrol\u00fcnde verilerimizi listeledik.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>1.DataGridView&#8217;in g\u00f6sterdi\u011fi t\u00fcm kolonlar,DataGridView&#8217;in Columns koleksiyonun da tutulur.\u00d6zelliklerini oradan ayarlayabiliriz.Kolonlardan h\u00fccrelere(Cell) ula\u015famay\u0131z.<\/em><\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n         dataGridView1.Columns&#x5B;&quot;Adi&quot;].Visible = true;\r\n            \/\/Visible ile &quot;Adi&quot; kolonunun g\u00f6z\u00fck\u00fcp g\u00f6z\u00fckmeyece\u011fini ayarlayabiliriz.\r\n            dataGridView1.Columns&#x5B;&quot;Adi&quot;].ToolTipText = &quot;Personel Ad\u0131&quot;;\r\n            \/\/ToolTipText ile kolonun \u00fczerine imleci getirince \u00e7\u0131kan yaz\u0131y\u0131 belirleriz.\r\n            MessageBox.Show(dataGridView1.Columns&#x5B;&quot;Adi&quot;].Name);\r\n            \/\/Name ile kolonun ad\u0131n\u0131 \u00f6\u011frenebiliriz.\r\n            dataGridView1.Columns&#x5B;&quot;Adi&quot;].HeaderText = &quot;Personel Ad\u0131&quot;;\r\n            \/\/HeaderText ile kolonun ad\u0131n\u0131 de\u011fi\u015ftirebiliriz.\r\n<\/pre>\n<p>DefaultCellStyle \u00f6zelli\u011fi DataGridViewCellStyle tipinde de\u011fer al\u0131r.Kolon,s\u00fctun ya da komple DataGridView&#8217;i bi\u00e7imlendirme ayarlar\u0131n\u0131 i\u00e7ine al\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            DataGridViewCellStyle dgvcs=new DataGridViewCellStyle();\r\n            dgvcs.BackColor=Color.Cyan;\r\n            dgvcs.Font=new Font(&quot;comic sans ms&quot;,3f);\r\n            dgvcs.ForeColor=Color.DarkOrange;\r\n            dataGridView1.DefaultCellStyle = dgvcs;\r\n<\/pre>\n<p>Yukardaki kod b\u00fct\u00fcn DataGridView i\u00e7in ge\u00e7erli bir bi\u00e7imlendirme ayar\u0131na sahiptir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n   DataGridViewCellStyle dgvcs=new DataGridViewCellStyle();\r\n            dgvcs.BackColor=Color.Cyan;\r\n            dgvcs.Font=new Font(&quot;comic sans ms&quot;,3f);\r\n            dgvcs.ForeColor=Color.DarkOrange;\r\n            dataGridView1.Columns&#x5B;&quot;Adi&quot;].DefaultCellStyle = dgvcs;\r\n<\/pre>\n<p>Yukardaki kod sadece &#8220;Adi&#8221; kolonunun bi\u00e7imlendirme ayar\u0131na sahiptir.<br \/>\n<em><span style=\"text-decoration: underline;\">2.DataGridView&#8217;in g\u00f6sterdi\u011fi t\u00fcm sat\u0131rlar,DataGridView&#8217;in Rows koleksiyonun da tutulur.\u00d6zelliklerini oradan ayarlayabiliriz.Sat\u0131rlardan h\u00fccrelere(Cell) ula\u015fabiliriz.<\/span><\/em><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndataGridView1.Rows&#x5B;3].Cells&#x5B;&quot;Adi&quot;].Value = &quot;deneme&quot;;\r\n            \/\/3. sat\u0131r\u0131n &quot;Adi&quot; kolonunun de\u011ferini &quot;deneme&quot; yap.\r\n            dataGridView1.Rows&#x5B;5].Visible = false;\r\n            dataGridView1.Rows&#x5B;3].Cells&#x5B;&quot;Adi&quot;].ToolTipText = &quot;Adlar&quot;;\r\n<\/pre>\n<p>Ayn\u0131 \u015fekilde DataGridViewCellStyle tipinde sat\u0131rlara ve h\u00fccrelere bi\u00e7imlendirme yapabiliriz.<\/p>\n<hr \/>\n<p>\u015eimdi gelelim DataGridView&#8217;e eklenen kolonlar\u0131n tipine.Default olarak TextBox tipindeki kolonlara verileri s\u0131ral\u0131yoruz.Ben CheckBox tipinden ya da ComboBox tipinden kolon yapmak istiyorsam DataGridViewCheckBoxColumn tipinden nesne olusturup bunu DataGridView&#8217;in Colums koleksiyonuna atmal\u0131y\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nDataGridViewComboBoxColumn cmb = new DataGridViewComboBoxColumn();\r\n            cmb.HeaderText = &quot;ComboBox kolon&quot;;\r\n            cmb.Visible = true;\r\n            dataGridView1.Columns.Add(cmb);\r\n<\/pre>\n<p>Yukar\u0131daki DataGridViewCheckBoxColumn tipinden olu\u015fturdu\u011fumuz gibi DataGridViewTextBoxColumn vs.. gibi tiplerde mevcuttur.<\/p>\n<hr \/>\n<p><strong><span style=\"color: #ff0000;\">DataGridView CellClick Olay\u0131<\/span><\/strong><br \/>\nDataGridView \u00fczerinde herhangi bir h\u00fccreye t\u0131kland\u0131\u011f\u0131 zaman meydana gelen olayd\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nprivate void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)\r\n        {\r\n\r\n        }\r\n<\/pre>\n<p>Hangi h\u00fccreye t\u0131kland\u0131\u011f\u0131 bilgisi bu olay\u0131n parametresi olan DataGridViewCellEventArgs tipindeki e de\u011fi\u015fkenine gelecektir.Bu de\u011fi\u015fken sayesinde t\u0131klanan h\u00fccrenin sat\u0131r ve kolon bilgilerine ula\u015fabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ne.ColumnIndex;\r\n\/\/T\u0131klanan h\u00fccrenin kolon index numaras\u0131n\u0131 verir.\r\ne.RowIndex;\r\n\/\/T\u0131klanan h\u00fccrenin sat\u0131r index numaras\u0131n\u0131 verir.\r\n<\/pre>\n<p>Dikkat : Kolonlar\u0131n isminin yaz\u0131l\u0131 oldu\u011fu sat\u0131r ve en soldaki veri ta\u015f\u0131mayan sat\u0131rda -1 index numaralar\u0131na sahiptir.<br \/>\n\u015eimdi t\u0131klad\u0131\u011f\u0131m\u0131z h\u00fccrenin kolon ve sat\u0131r index numaralar\u0131n\u0131 alal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nprivate void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)\r\n        {\r\n            MessageBox.Show(e.ColumnIndex + &quot; &quot; + e.RowIndex);\r\n        }\r\n<\/pre>\n<p>\u015eimdi ise t\u0131klad\u0131\u011f\u0131m\u0131z h\u00fccrenin \u00f6zelliklerine ula\u015fmaya \u00e7al\u0131\u015fal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ndataGridView1&#x5B;e.ColumnIndex, e.RowIndex]\r\n<\/pre>\n<p>Yukardaki kod sayesinde t\u0131klad\u0131\u011f\u0131m\u0131z h\u00fccreye ula\u015fabiliyoruz.Art\u0131k bu ifade h\u00fccreyi temsil ediyorsa &#8220;.&#8221; operat\u00f6r\u00fc ile o h\u00fccrenin \u00f6zelliklerine ula\u015fabilirim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nthis.Text = dataGridView1&#x5B;e.ColumnIndex, e.RowIndex].Value.ToString();\r\n            \/\/O h\u00fccrenin de\u011ferine ula\u015f\u0131r\u0131m.\r\n            dataGridView1&#x5B;e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Red;\r\n            \/\/o h\u00fccrenin rengini ayarlar\u0131m.\r\n<\/pre>\n<p>T\u0131klad\u0131\u011f\u0131m\u0131z h\u00fccreye DataGridViewCellStyle tipinden stil olu\u015fturabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nDataGridViewCellStyle stil = new DataGridViewCellStyle();\r\n            stil.BackColor = Color.Blue;\r\n            dataGridView1&#x5B;e.ColumnIndex, e.RowIndex].Style = stil;\r\n\/\/Bu DataGridViewCellStyle atarken h\u00fccrenin Style \u00f6zelli\u011fine atamal\u0131y\u0131z.\r\n<\/pre>\n<p>Not : DataGridView EditMode&#8217;unu EditProgrammatically yaparsan\u0131z,kullan\u0131c\u0131ya DataGridView \u00fczerinden verileri de\u011fi\u015ftirmeye izin vermemi\u015f olursunuz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;\r\n\/\/Varsay\u0131lan olarak EditMode EditOnKeystrokeOrF2 de\u011ferdedir.\r\n<\/pre>\n<p>Bu yaz\u0131mda burada son buluyor.\u0130yi \u00e7al\u0131\u015fmalar.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Bu yaz\u0131mda veri kontrollerinden olan DataGridView nesnesini ayr\u0131nt\u0131l\u0131 bir bi\u00e7imde anlatmaya \u00e7al\u0131\u015faca\u011f\u0131m.Sadece \u00f6zellikleri baz al\u0131narak de\u011fil,veritaban\u0131 ba\u011flant\u0131s\u0131 kurup,bir ka\u00e7 ufak uygulama g\u00f6sterece\u011fim.<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,22],"tags":[129,140],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-c-sharp-c","category-veritabani","tag-ado-net","tag-datagridview"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}