mehmetduran.com - Paylaşmak Güzeldir...
Asp.net'te Accordion Uygulamasını Veritabanı ile Kullanma
Bu yazımda jquery yardımı ile yapılan accordion uygulamasını veritabanı ile doldurarak kullanmayı göstereceğim. Daha önce bu yazımda accordion uygulamasını basit olarak anlatmıştım. Şimdi ise bu uygulamayı bilgileri veritabanından çekerek oluşturacağız. Bunun için Asp.net kontrolü olarak Repeater kullanacağız. Kullandığımız bu repeaterı accordion uygulamasına uygun şekilde tasarlayacağız. Son olarakta istediğimiz verileri repeatera yükleyeceğiz.

Öncelikle repeatera datayı yükleyeceğimiz kodlara bakalım:

    OleDbConnection bg;
    protected void Page_Load(object sender, EventArgs e)
    {
        bg = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + Server.MapPath("~/acc.mdb"));
        OleDbDataAdapter adaptor = new OleDbDataAdapter("select * from degerler", bg);
        DataTable tablo = new DataTable();
        adaptor.Fill(tablo);
        Repeater1.DataSource = tablo;
        Repeater1.DataBind();
    }

Daha sonra ise html kodlarımıza bakalım:

<div class="basic" id="list1b">
  <asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
      <span>
        <%# Eval("baslik") %></span>
      <div>
        <p>
          <%# Eval("deger") %></p>
      </div>
    </ItemTemplate>
  </asp:Repeater>
</div>

Son olarakta script kodlarına bakalım. Burada accordion uygulamasının bazı özelliklerini ve eventlarını kendimiz belirleyebileceğiz:

        $(document).ready(function(){
            jQuery('#list1b').accordion({
                autoheight: false,
                alwaysOpen:false,
                active:false,
                event:'mouseover',
                animated: 'slide'
            });
        });


Yaptığım uygulamayı aşağıda veya burada görebilirsiniz. Ayrıca bu uygulamayı kodlarıyla beraber buradan indirebilirsiniz.

İyi Çalışmalar!

Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Jquery'nin 1.3 Versiyonu Yayınlandı jQuery Eklenti (Plugin) ve jQuery Özel Metot Hazırlama ajax.mehmetduran.com Yayında! Jquery ve Asp.net MVC ile Ajax İşlemleri Asp.net'te Kendi Kontrollerimizi Oluşturmak
Yorumlar
Yorum Yaz
RSS Yorum Takibi
leyla 04 Ocak Pazar 2009 23:59 #1
slm; ben bu örneği ms sql ile yapmaya çalışıyorum fakat yapamadım.yardımcı olur musunuz?
Mehmet Duran 05 Ocak Pazartesi 2009 00:12 #2
Merhaba. Yardımcı olmaya çalışırım. Ancak yazıda herşeyi anlattım. Access`e göre olan tanımlamaları ms sql`e göre çevirmeniz yeterli.
leyla 05 Ocak Pazartesi 2009 00:49 #3
çevirmeye çalıştım ama yaptığım zaman şöyle hata veriyor repeater a hem databind hem datasource yüklemesi yapamazsınız diyor.:(
leyla 05 Ocak Pazartesi 2009 00:55 #4
İlginiz için teşekkür ederim
Mehmet Duran 05 Ocak Pazartesi 2009 09:49 #5
Hata olmaması lazım. Bu çalışmanın örneği var. Ona bakarak denerseniz daha iyi olur.
leyla 06 Ocak Salı 2009 20:50 #6
string connStr = ...; string sorgu = "select * from subject"; SqlDataAdapter adaptor = new SqlDataAdapter (sorgu, connStr); DataTable tablo = new DataTable(); adaptor.Fill(tablo); Repeater1.DataSource = tablo; Repeater1.DataBind(); verdiği hata : `Repeater1` içinde hem DataSource hem de DataSourceID tanımlandı. Tanımlardan birini kaldırın.
leyla 06 Ocak Salı 2009 20:53 #7
bunu kullanmayı çok istiyorum.Yardımcı olursan sevinirim.kodu dayazdım.şimdiden teşekkürler.
Mehmet Duran 06 Ocak Salı 2009 21:10 #8
Merhaba. Bu hatanın sebebi hem kod tarafında hem de html kod tarafında Repeater`a datasource belirtmenden kaynaklanıyor olabilir. Bunun için html kod tarafındaki datasourceid olarak belirttiğin özelliği tamamen kaldır. Muhtemelen sorunun çözülür.
leyla 06 Ocak Salı 2009 22:03 #9
tamamdır.teşekkür edrim:)
Mehmet Duran 06 Ocak Salı 2009 22:04 #10
Sorunun çözüldüğüne sevindim. İyi Çalışmalar!
ali 23 Ocak Cuma 2009 19:17 #11
Peki bunu 2 tablo olarak yaparsak nasıl yaparız ? ben yapıyorum ama menüler açık geliyor div içindede denedim div dışındada iç içe iki tane repeater ekliyek yaptım lütfen yardımcı olurmusunuz mehmet bey ? iki tablo şeklinde yapabilirmisiniz tek tabloda sıkıntı yaşamıyorum lütfen.
Mehmet Duran 23 Ocak Cuma 2009 23:08 #12
Merhaba. İki tablo ile yapmak için ayrı bir repeater`a gerek olmadan yazacağımız bir metot ile gerekli bağlantıyı sağlayabiliriz. Şu an elimde örnek yok ama yapıp sitemde paylaşabilirim.
mylo 15 Haziran Pazartesi 2009 22:39 #13
OleDbConnection bg; protected void Page_Load(object sender, EventArgs e) { bg = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=" + Server.MapPath("~/acc.mdb")); OleDbDataAdapter adaptor = new OleDbDataAdapter("select * from degerler", bg); DataTable tablo = new DataTable(); adaptor.Fill(tablo); Repeater1.DataSource = tablo; Repeater1.DataBind(); } bu bolum ayrı dosyamı acıcaz ve resımı nasıl yapacaz
Mehmet Duran 15 Haziran Pazartesi 2009 22:55 #14
Bu kodları accordion uygulamasını yapacağın sayfanın kod kısmında yazacaksın. Bu kısım ya cs uzantılı bir dosyada olur veya aynı sayfada script tagları arasında yazılabilir. Resim olayını daha net sorarsan daha iyi yardımcı olabilirim.
mylo 16 Haziran Salı 2009 00:03 #15
kardes vallaha basım sıstı anlattıgından bıse anlamadım ayrıntılı olarak kısa anlatabılırmısın sımdıden tsk
Mehmet Duran 16 Haziran Salı 2009 00:13 #16
Tam olarak yapmak istediğini söylersen daha iyi olur. Ona göre yardımcı olmaya çalışırım.
mylo 16 Haziran Salı 2009 00:23 #17
kardes bende wmlmerset var ve bende asp haber sıtesıne eklemek sıtıyorum tabı verıden alıp haberlerı yayınlamak ıstıyorum bunu nasıl yapabılırım
Mehmet Duran 16 Haziran Salı 2009 00:29 #18
Sanırım klasik asp kullanıyorsun. Eğer öyleyse ilk yorumunda yazmış olduğun kodları klasik asp`ye çevirmen gerek. Geri kalan script kodları ise aynı olacak. Asp.net ise bu örneği direk olarak kullanabilirsin. Ayrıca yazının sonlarına doğru örnek linki var. Örneği indirip inceleyebilirsin.
mylo 16 Haziran Salı 2009 00:44 #19
evet kılasık asp kulanıyorum ve cevrım ısı zor gelecek galıba baktım daa baya kasırık sız uygularmısınız
Mehmet Duran 16 Haziran Salı 2009 00:49 #20
Yapmak isterdim ancak asp pek kullanmıyorum ve pek zamanım yok. Ancak bana göre bunu asp ile yapmak daha kolay. Yapman gereken sadece html yapıyı verilerle beraber oluşturmak. Bunun için asp ile veritabanı bağlantısını yapıp döngü içinde teker teker verileri html yapıya gömmek.
mylo 16 Haziran Salı 2009 01:07 #21
kusura bakmayında elınızde oyle bır ekletı varmıdır bız sadece kendı alanları doldurup kulanma sanızım olma gıbı bır eklentı varmıdır acaba cunku bakıyorumda butun haber sıtelerı o eklentıye gectı
Mehmet Duran 16 Haziran Salı 2009 11:21 #22
Maalesef elimde öyle bir eklenti yok. Ama internette arama yaparak bulabilirsin.
gamze 13 Ağustos Perşembe 2009 10:34 #23
uygulama çok güzel çalışıyor, ancak ben deger2 diye bir alandaha açmak istiyorum yani 3 açılır menu, database deger 2 diye bir alan açtım itemTemplate i de düzenledim. bir türlü düzgün çalıştıramadım yardımcı olursanız çok memnun olurum
Mehmet Duran 13 Ağustos Perşembe 2009 21:25 #24
Bunun için burada ve burada yazmış olduğum tree örnekleri işini görebilir. Veritabanından aldığın değerleri html yapıya uygun olarak oluşturmalısın. Bu şekilde sorunu çözeceğini düşünüyorum.
Soner Can 16 Aralık Çarşamba 2009 11:48 #25
Kardeş Süper Helal Olsun diyorum başka bir şey demiyorum :):):):):)
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Kimse sana senden iyi öğüt veremez.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009