<?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>İlhan Bahar &#187; asp.net</title>
	<atom:link href="http://www.ilhanbahar.com/tag/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ilhanbahar.com</link>
	<description>Kişisel Blog</description>
	<lastBuildDate>Thu, 09 Feb 2012 11:13:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>2 saatte bir mail atan Windows Servis</title>
		<link>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/</link>
		<comments>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 09:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[mail at]]></category>
		<category><![CDATA[mail atan]]></category>
		<category><![CDATA[mail gönderme]]></category>
		<category><![CDATA[w servis]]></category>
		<category><![CDATA[windows service]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=840</guid>
		<description><![CDATA[Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz. BilgisayarımYönetHizmetler gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir Windows servis yazacağız. Yazacağımız Windows servis, bir Timer aracılığı ile  Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır. Bu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ilhanbahar.com/wp-content/uploads/2010/08/win2k82.jpg"><img class="alignleft size-medium wp-image-841" title="win2k8" src="http://www.ilhanbahar.com/wp-content/uploads/2010/08/win2k82-239x300.jpg" alt="" width="239" height="300" /></a></p>
<p>Bilgisayarda biz farkında olmadan arka planda sessiz sedasız çalışmalarını yürüten, hizmetlerden bahsedeceğiz.<strong> BilgisayarımYönetHizmetler</strong> gelerek bahsettiğim hizmetleri görebilirsiniz. Projemde bana lazım olan 2 saatte bir kontrol yapan, bir <strong>Windows servis</strong> yazacağız.</p>
<p>Yazacağımız <strong>Windows servis</strong>, bir <strong>Timer</strong> aracılığı ile  Mssql veritabanımızı kontrol edip, istediğimiz koşul gerçekleştiğinde, mail gönderecektir. Sanırım burada açıklamaktansa kodları yazmak daha anlaşılır olacaktır.</p>
<p>Bu arada <a href="http://www.ilhanbahar.com/tag/mail-gonderme/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mail gönderme">mail gönderme</a> kısımlarını değiştirdim, oraları kendi <strong>server</strong> bilginize göre düzenlersiniz. Aşağıdaki kodları <strong>Setup</strong> olarak kurup, istediğiniz <strong>server</strong>&#8216;da çalıştırabilirsiniz.</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Diagnostics;<br />
using System.Linq;<br />
using System.ServiceProcess;<br />
using System.Text;<br />
using System.Timers;<br />
using System.Data.SqlClient;<br />
using System.Net.Mail;<br />
using System.Net;<span id="more-840"></span></p>
<p>namespace MailAtanWindowsServis<br />
{<br />
public partial class MailAtanServis : ServiceBase<br />
{<br />
Timer Zamanlayici;<br />
SqlConnection conn;</p>
<p>public MailAtanServis()<br />
{<br />
InitializeComponent();<br />
Zamanlayici = new Timer(30000);<br />
conn = new SqlConnection(@&#8221;data source=GIFTEDSQLEXPRESS;initial catalog = Ticket; integrated security = true&#8221;);</p>
<p>}</p>
<p>protected override void OnStart(string[] args)<br />
{<br />
// Servisimiz start oldugu zaman zamanlayıcı adını verdigimiz timer nesnemizi start edelim.</p>
<p>Zamanlayici.Start();<br />
Zamanlayici.Elapsed += new ElapsedEventHandler(Zamanlayici_Elapsed);</p>
<p>}</p>
<p>void Zamanlayici_Elapsed(object sender, ElapsedEventArgs e)<br />
{<br />
//Bu kısımda veritanından okuyan kısmı yapıcaz. Yani gidip kontrol edecek ve 2 saat ise mail atacak<br />
//Veritabanında bir onay duruma bakarız. Kullanıcı onayı (0,1,2) olmaması lazım. Ayrıca işlem başlangıç zamanına 120 dk ekleriz. Hala çözülmemişse ///<a href="http://www.ilhanbahar.com/tag/mail-at/" class="st_tag internal_tag" rel="tag" title="Posts tagged with mail at">mail at</a>.</p>
<p>SqlConnection conn = new SqlConnection(@&#8221;data source=GIFTEDSQLEXPRESS;integrated security=sspi;initial catalog=Ticket&#8221;);<br />
SqlCommand comm = new SqlCommand(&#8220;SELECT S.ISLEM_BASLANGIC_ZAMAN,S.ONAY_DURUM,S.PERSONEL_ID,P.PERSONEL_BIRIM FROM SORUN_TABLOSU AS S INNER JOIN PERSONEL AS P ON P.PERSONEL_ID=S.PERSONEL_ID WHERE S.ONAY_DURUM=0 OR S.ONAY_DURUM=1&#8243;, conn);<br />
DataTable dt = new DataTable();<br />
try<br />
{<br />
conn.Open();<br />
dt.Load(comm.ExecuteReader());</p>
<p>// string dakika = baslangicTarih.ToString().Substring(10, 2);</p>
<p>for (int i = 0; i &lt; dt.Rows.Count; i++)<br />
{<br />
string personelBirim = dt.Rows[i][3].ToString();<br />
int personelID = Convert.ToInt32(dt.Rows[i][2].ToString());<br />
double baslangicTarih = Convert.ToDouble(dt.Rows[i][0].ToString());</p>
<p>double sonTarih = baslangicTarih + 5;<br />
double sonTarih1 = baslangicTarih + 4;</p>
<p>//Bunu alt yönetici için kullanıcaz</p>
<p>if (Convert.ToDouble(DateTime.Now.ToString(&#8220;yyyyMMddHHmm&#8221;)) == sonTarih1)<br />
{</p>
<p>SqlCommand mailAl1 = new SqlCommand(&#8220;SELECT PERSONEL_MAIL FROM PERSONEL WHERE PERSONEL_BIRIM=&#8217;&#8221; + personelBirim + &#8220;&#8216; AND PERSONEL_YETKI= 1&#8243;, conn);<br />
SqlCommand comm3 = new SqlCommand(&#8220;SELECT P.PERSONEL_ADI,P.PERSONEL_BIRIM,S.SORUN_ID,S.ACIKLAMA,DBO.FNK_TARIHI_FORMATLA(S.BASLANGIC_ZAMAN),DBO.FNK_TARIHI_FORMATLA(S.ISLEM_BASLANGIC_ZAMAN),SOR.KATEGORI_ADI,ONAY_ACIKLAMA FROM PERSONEL AS P INNER JOIN SORUN_TABLOSU AS S ON S.PERSONEL_ID=P.PERSONEL_ID INNER JOIN SORUN_KATEGORI_TABLOSU AS SOR ON S.KATEGORI_ID=SOR.KATEGORI_ID INNER JOIN ONAY_TABLOSU AS O ON O.ONAY_DURUM=S.ONAY_DURUM AND (S.ONAY_DURUM=0 OR S.ONAY_DURUM=1) AND P.PERSONEL_ID=&#8221; + personelID + &#8220;&#8221;, conn);<br />
DataTable dt3 = new DataTable();</p>
<p>string mail1 = mailAl1.ExecuteScalar().ToString();<br />
dt3.Load(comm3.ExecuteReader());<br />
string konu1 = &#8220;Bildiren Personel : &#8221; + dt3.Rows[0][0].ToString() + &#8220;n&#8221; + &#8221; Personel Birimi : &#8221; + dt3.Rows[0][1].ToString() + &#8220;n&#8221; + &#8220;Sorun Id : &#8221; + dt3.Rows[0][2].ToString() + &#8220;n&#8221; + &#8220;Açıklama : &#8221; + dt3.Rows[0][3].ToString() + &#8220;n&#8221; + &#8220;Bildirim Zamanı : &#8221; + dt3.Rows[0][4].ToString() + &#8220;n&#8221; + &#8220;İşlem Başlangıç Zamanı : &#8221; + dt3.Rows[0][5].ToString() + &#8220;n&#8221; + &#8220;Kategorisi : &#8221; + dt3.Rows[0][6].ToString() + &#8220;n&#8221; + &#8220;Onay Durumu : &#8221; + dt3.Rows[0][7].ToString();</p>
<p>mailGonder(mail1, &#8220;mail@ilhanbahar.com&#8221;, &#8220;1234&#8243;, konu1, dt3.Rows[0][2].ToString() + &#8220;. Id Nolu Problem &#8211; &#8221; + dt3.Rows[0][1]);</p>
<p>}</p>
<p>//Bunu üst yönetici için kullanıcaz.</p>
<p>if (Convert.ToDouble(DateTime.Now.ToString(&#8220;yyyyMMddHHmm&#8221;)) == sonTarih)<br />
{</p>
<p>SqlCommand mailAl = new SqlCommand(&#8220;SELECT PERSONEL_MAIL FROM PERSONEL WHERE PERSONEL_BIRIM=&#8217;&#8221; + personelBirim + &#8220;&#8216; AND PERSONEL_YETKI= 2&#8243;, conn);<br />
SqlCommand comm2 = new SqlCommand(&#8220;SELECT P.PERSONEL_ADI,P.PERSONEL_BIRIM,S.SORUN_ID,S.ACIKLAMA,DBO.FNK_TARIHI_FORMATLA(S.BASLANGIC_ZAMAN),DBO.FNK_TARIHI_FORMATLA(S.ISLEM_BASLANGIC_ZAMAN),SOR.KATEGORI_ADI,ONAY_ACIKLAMA FROM PERSONEL AS P INNER JOIN SORUN_TABLOSU AS S ON S.PERSONEL_ID=P.PERSONEL_ID INNER JOIN SORUN_KATEGORI_TABLOSU AS SOR ON S.KATEGORI_ID=SOR.KATEGORI_ID INNER JOIN ONAY_TABLOSU AS O ON O.ONAY_DURUM=S.ONAY_DURUM AND (S.ONAY_DURUM=0 OR S.ONAY_DURUM=1) AND P.PERSONEL_ID=&#8221; + personelID + &#8220;&#8221;, conn);<br />
DataTable dt2 = new DataTable();</p>
<p>string mail = mailAl.ExecuteScalar().ToString();<br />
dt2.Load(comm2.ExecuteReader());<br />
string konu = &#8220;Bildiren Personel : &#8221; + dt2.Rows[0][0].ToString() + &#8220;n&#8221; + &#8221; Personel Birimi : &#8221; + dt2.Rows[0][1].ToString() + &#8220;n&#8221; + &#8220;Sorun Id : &#8221; + dt2.Rows[0][2].ToString() + &#8220;n&#8221; + &#8220;Açıklama : &#8221; + dt2.Rows[0][3].ToString() + &#8220;n&#8221; + &#8220;Bildirim Zamanı : &#8221; + dt2.Rows[0][4].ToString() + &#8220;n&#8221; + &#8220;İşlem Başlangıç Zamanı : &#8221; + dt2.Rows[0][5].ToString() + &#8220;n&#8221; + &#8220;Kategorisi : &#8221; + dt2.Rows[0][6].ToString() + &#8220;n&#8221; + &#8220;Onay Durumu : &#8221; + dt2.Rows[0][7].ToString();</p>
<p>mailGonder(mail, &#8220;nazli.ayhan@gvg.com.tr&#8221;, &#8220;1234&#8243;, konu, dt2.Rows[0][2].ToString() + &#8220;. Id Nolu Problem &#8211; &#8221; + dt2.Rows[0][1]);</p>
<p>}</p>
<p>}<br />
}<br />
catch (Exception ex)<br />
{</p>
<p>}<br />
finally<br />
{<br />
conn.Close();<br />
}</p>
<p>}</p>
<p>private void mailGonder(string kime, string kullaniciAdi, string sifre, string konu, string baslik)<br />
{<br />
MailMessage mail = new MailMessage();<br />
mail.From = new MailAddress(kullaniciAdi);<br />
mail.Priority = MailPriority.High;<br />
mail.To.Add(new MailAddress(kime));<br />
mail.Body = konu;<br />
mail.Subject = baslik;</p>
<p>NetworkCredential sad = new NetworkCredential();<br />
sad.UserName = kullaniciAdi;<br />
sad.Password = sifre;</p>
<p>SmtpClient sc = new SmtpClient();<br />
sc.Host = &#8220;mail.ilhanbahar.com&#8221;;<br />
sc.Port = 587;<br />
sc.Credentials = sad;<br />
sc.Send(mail);<br />
}</p>
<p>protected override void OnStop()<br />
{<br />
Zamanlayici.Stop();<br />
}</p>
<p>protected override void OnContinue()<br />
{</p>
<p>// Pause olayından tekrar resume butonuna basıldıgında zamanlayıcımızı start edelim .</p>
<p>Zamanlayici.Start();</p>
<p>}</p>
<p>}<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/2-saatte-bir-mail-atan-windows-servis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asp.Net Excel’e veri aktarmak</title>
		<link>http://www.ilhanbahar.com/asp-net-excele-veri-aktarmak/</link>
		<comments>http://www.ilhanbahar.com/asp-net-excele-veri-aktarmak/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 08:56:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[excel]]></category>
		<category><![CDATA[excel aktarım]]></category>
		<category><![CDATA[excel export]]></category>
		<category><![CDATA[excel import]]></category>
		<category><![CDATA[gridview]]></category>
		<category><![CDATA[veri aktarım]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=830</guid>
		<description><![CDATA[Aşağıdaki kodları bir butona yerleştirdiğimizde, oradaki &#8220;Gridviewiniz&#8221; kısmını kendi Gridview ayarlayarak, verilerinizi olduğu gibi Excel&#8216;e aktarabilirsiniz. Rapor.xls olarak masaüstüne kaydedecektir. HtmlForm form1 = new HtmlForm();         form1.Controls.Add(Gridviewiniz);         Response.Clear();         Response.ClearHeaders();         Response.ClearContent();         Response.ContentEncoding = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8243;);         Response.Charset = &#8220;windows-1254&#8243;; //ISO-8859-13 ISO-8859-9  windows-1254         System.Web.HttpContext.Current.Response.AddHeader(&#8220;content-disposition&#8221;, &#8220;attachment;filename=Rapor.xls&#8221;);         Response.ContentType = &#8220;application/vnd.ms-excel&#8221;;         System.IO.StringWriter stringWrite = [...]]]></description>
			<content:encoded><![CDATA[<p>Aşağıdaki kodları bir butona yerleştirdiğimizde, oradaki<strong> &#8220;Gridviewiniz&#8221;</strong> kısmını kendi <strong><a href="http://www.ilhanbahar.com/tag/gridview/" class="st_tag internal_tag" rel="tag" title="Posts tagged with gridview">Gridview</a></strong> ayarlayarak, verilerinizi olduğu gibi <strong><a href="http://www.ilhanbahar.com/tag/excel/" class="st_tag internal_tag" rel="tag" title="Posts tagged with excel">Excel</a></strong>&#8216;e aktarabilirsiniz. <strong>Rapor.xls</strong> olarak masaüstüne kaydedecektir.</p>
<p>HtmlForm form1 = new HtmlForm();</p>
<p>        form1.Controls.Add(Gridviewiniz);</p>
<p>        Response.Clear();</p>
<p>        Response.ClearHeaders();</p>
<p>        Response.ClearContent();</p>
<p>        Response.ContentEncoding = System.Text.Encoding.GetEncoding(&#8220;windows-1254&#8243;);</p>
<p>        Response.Charset = &#8220;windows-1254&#8243;; //ISO-8859-13 ISO-8859-9  windows-1254</p>
<p>        System.Web.HttpContext.Current.Response.AddHeader(&#8220;content-disposition&#8221;, &#8220;attachment;filename=Rapor.xls&#8221;);</p>
<p>        Response.ContentType = &#8220;application/vnd.ms-excel&#8221;;</p>
<p>        System.IO.StringWriter stringWrite = new System.IO.StringWriter();</p>
<p>        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);</p>
<p>        Gridviewiniz.RenderControl(htmlWrite);<span id="more-830"></span></p>
<p>        Response.Output.Write(&#8221; &lt;meta http-equiv=&#8217;Content-Type&#8217; content=&#8217;text/html; charset=windows-1254&#8242; /&gt;&#8221; + stringWrite.ToString());</p>
<p>        Response.Flush();</p>
<p>        System.Web.HttpContext.Current.Response.End();</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/asp-net-excele-veri-aktarmak/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Asp.net Session Nesnesi</title>
		<link>http://www.ilhanbahar.com/asp-net-session-nesnesi/</link>
		<comments>http://www.ilhanbahar.com/asp-net-session-nesnesi/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 20:24:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[global ayaları]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[session nesnesi]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=573</guid>
		<description><![CDATA[Session nesnesi bir oturum boyunca tutulan geçici verilerdir.Örneğin;forumlarda üye girişi yaptıktan sonra bir süre sonra logout olduğunuzu fark edersiniz.Bunun nedeni Session zamanın kısa olmasıdır.Session nesnesinin kullanımı oldukça basittir. [c language="c#"] Session [&#34;Adi&#34;]=Text1.text; //Burada örnek olarak Text1.text adlı textbox&#8217;tan veri okutalım. Response.Redirect(&#34;Default2.aspx&#34;);//Oluşturacağımız sayfaya yönlendiriyoruz. //Default2.aspx diye yeni web sayfamızı ekleyelim.Bir tanede Session nesnemizi göstermek için label [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ilhanbahar.com/tag/session-nesnesi/" class="st_tag internal_tag" rel="tag" title="Posts tagged with session nesnesi">Session nesnesi</a> bir oturum boyunca tutulan geçici verilerdir.Örneğin;forumlarda üye girişi yaptıktan sonra bir süre sonra logout olduğunuzu fark edersiniz.Bunun nedeni <a href="http://www.ilhanbahar.com/tag/session/" class="st_tag internal_tag" rel="tag" title="Posts tagged with session">Session</a> zamanın kısa olmasıdır.<a href="http://www.ilhanbahar.com/tag/session/" class="st_tag internal_tag" rel="tag" title="Posts tagged with session">Session</a> nesnesinin kullanımı oldukça basittir.</p>
<p>[c language="c#"]<br />
Session [&quot;Adi&quot;]=Text1.text; //Burada örnek olarak Text1.text adlı textbox&#8217;tan veri okutalım.<br />
Response.Redirect(&quot;Default2.aspx&quot;);//Oluşturacağımız sayfaya yönlendiriyoruz.<br />
//Default2.aspx diye yeni web sayfamızı ekleyelim.Bir tanede Session nesnemizi göstermek için label koyalım.<br />
Label1.text=Session[&quot;Adi&quot;];<br />
[/c]</p>
<p>Load kısmına yazdığımız üst satır sayesinde Session nesnemiz bir sayfadan diğerine taşınmış oldu.Peki Session ayarlarını nasıl yapabiliriz?</p>
<p>Bunun için Add New Item&#8217;dan Global Application Class ekliyoruz.Eklediğimiz dosyanın  içersine yazmak üzere;</p>
<p>[c language="c#"]</p>
<p>&lt;sessionState&gt;<br />
mode=&quot;SQLserver&quot; //Session nesnesinin sql kaydedileceğini belirtir.Default değeri &quot;InProc&quot;dur.<br />
cookieless=&quot;true&quot; //Cookiler kullanıcın bilgisayarında saklanır.Default değeri &quot;False&quot;dır.<br />
timeout=&quot;5&quot; //Kaç dakika sonra session son bulacağını belirtir.Default değeri &quot;20&quot; dakikadır.</p>
<p>[/c] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/asp-net-session-nesnesi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gridview&#8217;de seçili satırı renklendirmek</title>
		<link>http://www.ilhanbahar.com/gridviewde-secili-satiri-renklendirmek/</link>
		<comments>http://www.ilhanbahar.com/gridviewde-secili-satiri-renklendirmek/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 11:46:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[gridview]]></category>
		<category><![CDATA[gridview satır]]></category>
		<category><![CDATA[satır işaretle]]></category>
		<category><![CDATA[satır renklendir]]></category>
		<category><![CDATA[satır seçmek]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=529</guid>
		<description><![CDATA[Asp.net veya C# da gridview ile henüz tanışanlar,satırları seçtikleri zaman işaretlenmediklerini görecekler.Bu durum sizin için önemsiz olacak ama kullanıcılar açısından önemli olduğu için o satır işaretlemesini yapmak zorunda kalacaksınız.Ben aynı duyguları yaşadığım için aşağıda  kodu paylaşıyorum&#8230; Kodu Gridview&#8216;in RowCreated event&#8216;ına ekleyin. [c language="#"] if (e.Row.RowType != DataControlRowType.DataRow) return; // eger yaratilan satir farkliysa data satirindan [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.ilhanbahar.com/tag/aspnet/" class="st_tag internal_tag" rel="tag" title="Posts tagged with asp.net">Asp.net</a> </strong>veya <strong>C#</strong> da <strong><a href="http://www.ilhanbahar.com/tag/gridview/" class="st_tag internal_tag" rel="tag" title="Posts tagged with gridview">gridview</a></strong> ile henüz tanışanlar,satırları seçtikleri zaman işaretlenmediklerini görecekler.Bu durum sizin için önemsiz olacak ama kullanıcılar açısından önemli olduğu için o satır işaretlemesini yapmak zorunda kalacaksınız.Ben aynı duyguları yaşadığım için aşağıda  kodu paylaşıyorum&#8230;</p>
<p>Kodu<strong> Gridview</strong>&#8216;in <strong>RowCreated</strong> <strong>event</strong>&#8216;ına ekleyin.</p>
<p>[c language="#"]</p>
<p>if (e.Row.RowType != DataControlRowType.DataRow) return;</p>
<p>// eger yaratilan satir farkliysa data satirindan buradan cik</p>
<p>e.Row.Attributes.Add(&#8220;onmouseover&#8221;, &#8220;this.originalstyle=this.style.backgroundColor;this.style.backgroundColor=&#8217;#EEFF00&#8242;&#8221;);</p>
<p>// mouse overina bu stil attribute&#8217;ini ekle</p>
<p>e.Row.Attributes.Add(&#8220;onmouseout&#8221;, &#8220;this.style.backgroundColor=this.originalstyle;&#8221;);</p>
<p>// mouse out ise eski stile don</p>
<p>[/c]</p>
<p>Kod şuan sorunsuz olarak çalışıyor.Yorum olarak çalışmıyor demeden önce lütfen yazım yanlışlarını kontrol ediniz.</p>
<p><span id="more-529"></span></p>
<p>2.Yöntem;</p>
<p>[c language="#"]</p>
<p>protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)<br />
{<br />
if (e.Row.RowType == DataControlRowType.DataRow)<br />
{<br />
e.Row.Attributes.Add(&#8220;onmouseover&#8221;, &#8220;this.style.backgroundColor=&#8217;Silver&#8217;&#8221;);<br />
e.Row.Attributes.Add(&#8220;onmouseout&#8221;, &#8220;this.style.backgroundColor=&#8217;White&#8217;&#8221;);<br />
}</p>
<p>}</p>
<p>[/c]</p>
<p>Hangisini kullanmak isterseniz.Seçiminizi o yönde yaparsınız.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/gridviewde-secili-satiri-renklendirmek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RegularExpressionValidator kontrolü</title>
		<link>http://www.ilhanbahar.com/regularexpressionvalidator-kontrolu/</link>
		<comments>http://www.ilhanbahar.com/regularexpressionvalidator-kontrolu/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 09:49:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Asp .Net]]></category>
		<category><![CDATA[Programlama]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[expression]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[microsoft asp]]></category>
		<category><![CDATA[RegularExpressionValidator]]></category>

		<guid isPermaLink="false">http://www.ilhanbahar.com/?p=516</guid>
		<description><![CDATA[Arkadaşlar hepiniz üye kayıt formlarında veya her hangi bir farklı giriş yapılan formlarda &#8220;Yanlış giriş yaptınız&#8221;,&#8220;@ kullanmadınız&#8221;,&#8220;En az 4 en fazla 8&#8243; gibi hata mesajları almışsınızdır.Bugün sizlere asp.net&#8216;te bu özelliğin ne kadar kolay eklenebildiğinden bahsetmeye çalışacağım.Bunu yapmak adına öncelikle File&#62;New&#62;Website diyerek yeni bir websayfası oluşturma alanı açıyoruz.Daha sonra sol taraftan Validation kısmına geliyoruz.Burada yine hemen [...]]]></description>
			<content:encoded><![CDATA[<p>Arkadaşlar hepiniz üye kayıt formlarında veya her hangi bir farklı giriş yapılan formlarda <strong>&#8220;Yanlış giriş yaptınız&#8221;</strong>,<strong>&#8220;@ kullanmadınız&#8221;</strong>,<strong>&#8220;En az 4 en fazla 8&#8243;</strong> gibi hata mesajları almışsınızdır.Bugün sizlere <strong><a href="http://www.ilhanbahar.com/tag/aspnet/" class="st_tag internal_tag" rel="tag" title="Posts tagged with asp.net">asp.net</a></strong>&#8216;te bu özelliğin ne kadar kolay eklenebildiğinden bahsetmeye çalışacağım.Bunu yapmak adına öncelikle <strong>File&gt;New&gt;Website</strong> diyerek yeni bir websayfası oluşturma alanı açıyoruz.Daha sonra sol taraftan <strong>Validation</strong> kısmına geliyoruz.Burada yine hemen hemen aynı görevi üstlenen çeşitli kontroller var ancak biz konumuz gereği<strong> <a href="http://www.ilhanbahar.com/tag/regularexpressionvalidator/" class="st_tag internal_tag" rel="tag" title="Posts tagged with RegularExpressionValidator">RegularExpressionValidator</a></strong> ekliyoruz.Daha sonra yine formumuza deneme yapmak için bir adet <strong>textbox</strong> ve <strong>button</strong> ekliyoruz.</p>
<p>Bu özelliği kullanırken kod yazmayacağız tamamen windows formlar üzerinden işimizi  halledeceğiz.Hemen <strong>RegularExpressionValidator</strong> özelliklerine gelerek <strong>ValidationExpression </strong>özelliğine tıklıyoruz.Karşımıza bir liste çıkıyor,bu listeden anlayacağınız üzere çeşitli standartlar  otomatik olarak eklenmiş,örnek veriyorum;<strong>Internet E-Mail Address</strong> bunu seçtiğimizi varsayarak devam ediyorum.Alt kısımda <strong>Validation <a href="http://www.ilhanbahar.com/tag/expression/" class="st_tag internal_tag" rel="tag" title="Posts tagged with expression">Expression</a></strong> yazan bölümde<br />
[c language="c#"]<br />
w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*<br />
[/c]<br />
olan kısmın ne anlama geldiğini az sonra açıklayacağım.Öncelikle örneğimizin çalışması adına <strong>Error Message</strong> kısmına <strong>&#8220;@ işareti olamalı&#8221;</strong> hatasını ekliyoruz.Sonra <strong>ControltoValidate</strong> özelliğine button1 seçiyoruz.Bunun anlamı button1 basıldığında kontrol et demektir.Kodu derlediğinizde eğer @ işareti kullanmazsanız bir üst satırda yazdığımız hatayı aldığınızı göreceksiniz.Şimdi gelelim <strong>Validation Expression</strong> da <strong>Custom</strong> olarak kendi formatımızı belirlemeye bunun için <strong>Expression</strong> kodlarını yazmamız gerekiyor.Onlar da sabit olarak aşağıda veriyorum.</p>
<p><img class="aligncenter" title="ilk tablo" src="http://img124.imageshack.us/img124/6715/64735430.jpg" alt="" width="482" height="171" /><span id="more-516"></span><!--more--><img class="aligncenter" title="ikinci tablo" src="http://img8.imageshack.us/img8/4804/56649699.jpg" alt="" width="479" height="168" /><img class="aligncenter" title="ucuncu tablo" src="http://img198.imageshack.us/img198/6729/19695017.jpg" alt="" width="490" height="80" /></p>
<p>Üçüncü tablodan sizinde rahatlıkla anlayacağınız üzere mesela şifre kısmında<strong> w{4-12} </strong>yazarsanız;En az 4 en fazla 12 karakterlik şifre özelliğini eklemiş olursunuz.Tablolardan yararlanarak rahatlıkla <strong>custom</strong> sınırlamalar yapabilirsiniz.</p>
<p>Tabloları okuma problemi yaşanlar için <a href="http://img124.imageshack.us/img124/6715/64735430.jpg" target="_blank">1.tablo</a> <a href="http://img8.imageshack.us/img8/4804/56649699.jpg" target="_blank">2.tablo</a> <a href="http://img198.imageshack.us/img198/6729/19695017.jpg" target="_blank">3.tablo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ilhanbahar.com/regularexpressionvalidator-kontrolu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

