Blog Home  Yalcomania'n�n Yeri Feed your aggregator (RSS 2.0)  
Yalçın Uzun - Friday, August 03, 2007
Kişisel Blog
 
 Friday, August 03, 2007
ASP.Net'te TreeView nesnesine sonsuz ağaç yapısındaki verilerinizi mi atmak istiyorsunuz? İşte cevabı:
(Aynı zamanda güzel bir recursive method örneği)

Kategoriler Tablosu:
KategoriId - int
Kategori Ad - varchar(50)
UstKategoriId - int (Nullable)

Bu tabloda KategoriId ve UstKategoriId arasında da ilişki var.


public partial class Default3 : System.Web.UI.Page

{

//Kategoriler tablosunun duracağı dataset. Her iki metoddan da ulaşılcağı için global yaptım.

DataSet ds = new DataSet();

protected void Page_Load(object sender, EventArgs e)

{

//Treeview'imizin node'larını oluşturmaya başlıyoruz

TreeViewNodlariniOlustur();

}

private void TreeViewNodlariniOlustur()

{

//Treeview'i önce temizleyelim

this.TreeView1.Nodes.Clear();

//Standart database kodları, amaç tüm kategoriler tablosunu bir dataset'e atmak

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyWebSiteDBConnectionString"].ConnectionString);

SqlDataAdapter da = new SqlDataAdapter("select * from kategoriler", con);

da.Fill(ds);

//Önce en üst kategorileri yazdırmalıyız. Bu da üst kategoriId'si null olan kayıtlar demektir.

DataRow[] anaKategoriler = ds.Tables[0].Select("UstKategoriId is null");

//Şimdi hepsini dolaşmaya başlıyoruz

foreach (DataRow anaKategori in anaKategoriler)

{

TreeNode tn = new TreeNode(anaKategori["KategoriAd"].ToString(), anaKategori["KategoriId"].ToString()); //Birinci parametre Text, ikinci parametre Value

this.TreeView1.Nodes.Add(tn); //Treeview'e ekliyoruz

//Yazdığımız her kategorilerinin altında başka kategoriler var mı diye tek tek kontrol ediyoruz

AltKategorileriYaz(tn, Convert.ToInt32(anaKategori["KategoriId"]));

}

}

//Cillop gibi recursive method'umuz

private void AltKategorileriYaz(TreeNode ustKategori, int kategoriId)

{

//Parametreden aldığımız kategori'nin altındaki altkategorileri sorguluyoruz

DataRow[] kategoriler = ds.Tables[0].Select("UstKategoriId=" + kategoriId);

//Her alt kategoriyi dolaşmaya başlıyoruz

foreach (DataRow kategori in kategoriler)

{

TreeNode tn = new TreeNode(kategori["KategoriAd"].ToString(), kategori["KategoriId"].ToString());

//Olulan yeni node'u, parametre olarak gönderdiğimiz node'a bağlıyoruz.

ustKategori.ChildNodes.Add(tn);

//ve bu kategorinin de altında alt kategoriler var mı diye kendimizi tekrar çağırıyoruz.

AltKategorileriYaz(tn, Convert.ToInt32(kategori["KategoriId"]));

}

}

}

Friday, August 03, 2007 2:57:12 PM (GTB Standard Time, UTC+02:00)  #    Comments [1]    | 
 Thursday, July 26, 2007

"there are only 10 types of people in the world:
those who understand binary and those who don't. "

Thursday, July 26, 2007 3:45:30 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Wednesday, July 25, 2007

Saying Java is good because it works on all platforms is like saying anal sex is good because it works on all genders

Wednesday, July 25, 2007 6:19:08 PM (GTB Standard Time, UTC+02:00)  #    Comments [1]    | 
 Wednesday, July 04, 2007
Eğer Discovery Channel'da American Chopper dizisini izliyorsanız, Orange Country Choppers firmasını biliyorsunuz demektir.

Arkadaşlar, Microsoft SQL Server 2005 temalı bir motorsiklet yapmışlar.



Ayrıntı için:

http://www.orangecountychoppers.com/occ/offairtheme.html (3.sayfada)
Wednesday, July 04, 2007 11:03:50 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Thursday, June 28, 2007

Yer: Kadir Has Üniversitesi
Tarih: 29 Haziran 2007
Saat: 13:00 - 17:00
Salonlar: Balat Salonu, Fener Salonu
Konuşmacı: Ekin Özçiçekçiler

Program akışı:
13:00 - 14:45 --> .Net Compact Framework ile Mobil Cihaz Programlama
Kahve arası
15:00 - 15:45 --> SQL Server 2005 Mobile Edition
Kahve arası
16:00 - 16:45 --> Windows Communication Foundation ile dağıtık uygulamalar

Kaydolmak için tıklayınız

ÖNEMLİ NOT: Organizasyon sadece BilgeAdam mezunları içindir. Eğer halen öğrenciyseniz veya BilgeAdam'la bir ilişiğiniz yoksa lütfen başvuru yapmayınız.

Thursday, June 28, 2007 12:37:44 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Wednesday, June 27, 2007
Bir müddet iğrenç bir sorunla karşı karşıya kaldım. Vista'yı kurduktan sonra SQL Server'a bağlanamaz oldum.

Sadece bağlanamamakla kalsam iyi, sa veya başka bir account ile bağlanmaya kaltığımda önce "Remote Procedure Call has Stopped Working" , daha sonra "Host Process for windows services stopped working and was closed" hatası gelip, bütün windows sistemleri kapanıyordu. Bilgisayar çöküp, restart atıyordu.

Tüm dış bağlantıları açtım ve service pack'leri yükledim, sorun yine aynıydı. Toplam 3 kere format da attım, işe yaramadı.

Internet'i araştırdığımda sadece 1 kişinin de aynı problemi yaşadığını gördüm. (O da Türk'tü.. :))
Kendisi ile mailleştim ve ondaki sorunun ISA Firewall Client'tan kaynaklandığını söyledi. Ancak bende o da yüklü değildi. :)

Sonra sorunun NOD32 antivirüs programından kaynaklandığını buldum. Daha doğrusu onun IMON (Internet Monitör) servisinden.

Bu servisi tamamen kapatınca (DİKKAT: Disable edince değil) sorun çözüldü.

Wednesday, June 27, 2007 1:38:35 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Friday, June 22, 2007

Bir projemde lazım olmuştu. Belki sizin de işinize yarar:


private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

e.Graphics.PageUnit = GraphicsUnit.Millimeter;

//Print kodları

}

Friday, June 22, 2007 1:54:58 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Tuesday, June 12, 2007

Site içinde arama yapmak için Google'ın beta aşamasında olan harika bir toolu'u var.
Hararetle tavsiye ederim:
http://www.google.com/coop/

Sitemde arma yaparak neye benzediğini görebilirsiniz.
Ancak bu sitenin kodları hazır olduğu için javascript'le ekledim.

Daha güzeli ve customize edilmiş hali için:
http://www.csharpnedir.com a bakabilirsiniz.

Asp.net sitenize de böyle entegre edebilirsiniz:
http://www.codeproject.com/useritems/CustomSearchEngine.asp


Tuesday, June 12, 2007 1:29:37 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
 Monday, June 11, 2007

Çok basit bir yöntem. İki de bir unuttuğum için, bakayım diye buraya yazıyorum:

select top X * from Tablo order by newId()

X= kaç kayıt getirmek istediğin

Monday, June 11, 2007 5:24:36 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]    | 
Copyright © 2008 Yalçın Uzun