<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Erdem SELÇUK &#187; Code Snippet</title>
	<atom:link href="http://www.eravse.com/index.php/category/programlama/code-snippet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.eravse.com</link>
	<description>Kişisel Günlük ,Teknoloji ve mobil yaşam</description>
	<lastBuildDate>Fri, 21 Oct 2011 19:26:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>GridView Dynamic BoundField</title>
		<link>http://www.eravse.com/index.php/2010/10/28/gridview-dynamic-boundfield/</link>
		<comments>http://www.eravse.com/index.php/2010/10/28/gridview-dynamic-boundfield/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 08:57:44 +0000</pubDate>
		<dc:creator>Eravse</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Eravseden]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[Asp.net GridView]]></category>
		<category><![CDATA[BoundField]]></category>
		<category><![CDATA[c sharp]]></category>

		<guid isPermaLink="false">http://www.eravse.com/?p=583</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.eravse.com/index.php/category/programlama/c/" title="C#">C#</a><a href="http://www.eravse.com/index.php/category/programlama/code-snippet/" title="Code Snippet">Code Snippet</a><a href="http://www.eravse.com/index.php/category/eravseden/" title="Eravseden">Eravseden</a><a href="http://www.eravse.com/index.php/category/programlama/" title="Programlama">Programlama</a><a href="http://www.eravse.com/index.php/category/sql-server/" title="SQL Server">SQL Server</a></p>Bazen öyle durumlara maruz kalıyoruzki ne item templete kullanarak nede diğer yöntemler ile GridView imize data basamıyacak hallere bürünüyoruz. Aşağıdaki örnek alen 
12 ay boyunca dinamik olarak ayarlanmıştı önceleri ama daha sonra ekrana sığmadığı için son 4 ayın verileri basılmak üzere elle manuel olarak devam etmektedir.
]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.eravse.com/index.php/category/programlama/c/" title="C#">C#</a><a href="http://www.eravse.com/index.php/category/programlama/code-snippet/" title="Code Snippet">Code Snippet</a><a href="http://www.eravse.com/index.php/category/eravseden/" title="Eravseden">Eravseden</a><a href="http://www.eravse.com/index.php/category/programlama/" title="Programlama">Programlama</a><a href="http://www.eravse.com/index.php/category/sql-server/" title="SQL Server">SQL Server</a></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Bazen öyle durumlara maruz kalıyoruzki ne item templete kullanarak nede diğer yöntemler ile GridView imize data basamıyacak hallere bürünüyoruz. Aşağıdaki örnek alen<br />
12 ay boyunca dinamik olarak ayarlanmıştı önceleri ama daha sonra ekrana sığmadığı için son 4 ayın verileri basılmak üzere elle manuel olarak devam etmektedir.</p>
<p>Öncelikle GridView controlumuzün datasource nesnesi ile databind işlemine hazır hale getiriyoruz.</p>
<pre class="brush:[csharp]">
  protected void Page_Load(object sender, EventArgs e)
    {
         DbTools db = new DbTools();

        GridView1.DataSource = db.GenelDataSource("SELECT * FROM  dbo.kp ORDER BY  dbo.kp.sira");

     /*
 bind işleminden önce dinamik filedlarımızı yaratan fonksiyonumuzu çağırıyoruz.
*/
       GetGVHeader();

   /*
 her zamanki gibi bind işlemini gerçekleştiriyoruz.
*/
        GridView1.DataBind();

    }
</pre>
<p>Evet asıl olay zaten burada başlıyor . bu sayfada bana gerekli olan 12 ayın verısını clomun bazında basan bir grid idi.( En son modifikasyonda 4 ayı ekrana basmakta)<br />
O yüzden öncelikkle bana current ay yıl verısı ve datadan gelen field isimleri lazım olacaktı.</p>
<pre class="brush:[csharp]">

  /*
Bu gunun ayı ve yılını set et
*/

        int current_ay = DateTime.Now.Month;
        string current_year = DateTime.Now.Year.ToString() ;

       /*
 içinde bulunduğumuz senenin bir oncekı senesi lazım olacağı için manuel olarak bır oncekı yılı set edıyoruz. Raporlamada ıcınde bulundugunuz ayın bır verısı olmıyacagı ıcın eger subat ayında ısenız sıze ocak 2010 - aralık 2009 - kasım 2009 ve ekim 2009 verılerı lazım olacak bunu ayarlamak ıcın bır oncekı yılı set ettık.
*/

       int ly = Convert.ToInt32(current_year) - 1;

        string last_year = ly.ToString();

        /*
 bu aydan onceki bir aydan basla
         GV ye olusturacagımız 4 kolonun aylarını ayarlıyoruz
*/
        int period1_ay = current_ay - 1;
        int period2_ay = period1_ay - 1;
        int period3_ay = period2_ay - 1;
        int period4_ay = period3_ay - 1;

/*
GV headerını degıstırmek ıcın 12 ayın türkçe olarak kısaltılmıs hallerını strıng arrayımıze set edıyoruz
*/
string[] aylar = new string[12];

            aylar[0] = "Oc";
            aylar[1] ="Şb";
            aylar[2] ="Mr";
            aylar[3] ="Ni";
            aylar[4] ="My";
            aylar[5] ="Hz";
            aylar[6] ="Tm";
            aylar[7] ="Ağ";
            aylar[8] ="Ey";
            aylar[9] ="Ek";
            aylar[10] ="Ks";
            aylar[11] = "Ar";

/*
 12 aya tekabul eden 12 db fıled namı ını set edıyoruz
*/
       string[] dFields = new string[12];

       dFields[0] = "sayi";
       dFields[1] = "sayi1";
       dFields[2] = "sayi2";
       dFields[3] = "sayi3";
       dFields[4] = "sayi4";
       dFields[5] = "sayi5";
       dFields[6] = "sayi6";
       dFields[7] = "sayi7";
       dFields[8] = "sayi8";
       dFields[9] = "sayi9";
       dFields[10] = "sayi10";
       dFields[11] = "sayi11";

/*
bu kısma kadar hersey normal sekılde seyredıyor ve bundan sonra yapamız gereken sadece bır   BoundField  yaratmak
 */      

        BoundField bf1 = new BoundField();
        bf1.HeaderText = aylar[9].ToString() + "/" + current_year;
        bf1.DataField = dFields[9].ToString();
        DataControlField dc1 = bf1;
        GridView1.Columns.Add(dc1);

/*
 Aslına bakarsanız bu bır for dongusu ılede yapılabılır dahada kısaltılabılır ama onemlı olan ne kadar duzgun kod yazarsanız yazın ısınızın bır sekılde gorulmesıdır. optımızasyon ıcın daha sonra donup tekrar ırdelemenız mumkun
*/
        BoundField bf2 = new BoundField();
        bf2.HeaderText = aylar[8].ToString() + "/" + current_year;
        bf2.DataField = dFields[8].ToString();
        DataControlField dc2 = bf2;
        GridView1.Columns.Add(dc2);

        BoundField bf3 = new BoundField();
        bf3.HeaderText = aylar[7].ToString() + "/" + current_year;
        bf3.DataField = dFields[7].ToString();
        DataControlField dc3 = bf3;
        GridView1.Columns.Add(dc3);

        BoundField bf4 = new BoundField();
        bf4.HeaderText = aylar[6].ToString() + "/" + current_year;
        bf4.DataField = dFields[6].ToString();
        DataControlField dc4 = bf4;
        GridView1.Columns.Add(dc4);

    }
</pre>
<p>en son olarak hazırladıgımız GridView &#8216;in  nasıl göründüğüne bir bakalım isterseniz ..</p>
<div id="attachment_584" class="wp-caption alignnone" style="width: 283px"><a href="http://www.eravse.com/wp-content/uploads/2010/10/custom_column.png"><img src="http://www.eravse.com/wp-content/uploads/2010/10/custom_column-273x300.png" alt="" title="custom_column" width="273" height="300" class="size-medium wp-image-584" /></a><p class="wp-caption-text">asp.net gridview custom column</p></div>
<p>basit olarak bir GV icine custom  BoundField  olusturmaya örnektir. Daha detaylı şeyleri yaratmak ve kodlamak sizin hayal gücünüze bağlı umarım şimdiden herkes için faydalı bir örnek olur.</p>
<div class="shr-publisher-583"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.eravse.com/index.php/2010/10/28/gridview-dynamic-boundfield/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c# Code Snippet : Colorize Grid</title>
		<link>http://www.eravse.com/index.php/2010/06/30/c-code-snippet-colorize-grid/</link>
		<comments>http://www.eravse.com/index.php/2010/06/30/c-code-snippet-colorize-grid/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:31:50 +0000</pubDate>
		<dc:creator>Eravse</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[windows form]]></category>

		<guid isPermaLink="false">http://www.eravse.com/?p=510</guid>
		<description><![CDATA[<p>Posted in <a href="http://www.eravse.com/index.php/category/programlama/code-snippet/" title="Code Snippet">Code Snippet</a></p>C# windows form uygulaması yazarken bazı durumlarda grid satırlarını renklendirmek gerekebilir. Bende bunun üzerine her koşulda kullanabileceğim bir fonksiyon hazırlayarak paylaşmak istedim. Kodların komplex olup olmamasından daha çok işlevleri önemlidir. Gayet basit bir kod ama bir çok uğraştan kurtarıyor public (&#8230;)</p><p><a href="http://www.eravse.com/index.php/2010/06/30/c-code-snippet-colorize-grid/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Posted in <a href="http://www.eravse.com/index.php/category/programlama/code-snippet/" title="Code Snippet">Code Snippet</a></p><!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>C# windows form uygulaması yazarken bazı durumlarda grid satırlarını renklendirmek gerekebilir. Bende bunun üzerine her koşulda kullanabileceğim bir fonksiyon hazırlayarak paylaşmak istedim. </p>
<p>Kodların komplex olup olmamasından daha çok işlevleri önemlidir. Gayet basit bir kod ama bir çok uğraştan kurtarıyor <img src='http://www.eravse.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush:[csharp]">

    public void ColorizeGrid(int row_id, DateTime val)
        {
            DateTime td = DateTime.Today;

            if (val == td | val > td)
            {
                dataGridView1.Rows[row_id].DefaultCellStyle.BackColor = Color.Red;
                dataGridView1.Rows[row_id].DefaultCellStyle.ForeColor = Color.White;

            }
            else
            {
                dataGridView1.Rows[row_id].DefaultCellStyle.BackColor = Color.Green;
                dataGridView1.Rows[row_id].DefaultCellStyle.ForeColor = Color.White;
            }

        }
</pre>
<div class="shr-publisher-510"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.eravse.com/index.php/2010/06/30/c-code-snippet-colorize-grid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

