Helal sana Mehmet , baya iyisin .
Gerek fikir , gerekse bazı kodlarda kaynak olarak çok yararlı oluyor kodlar tebrikler ve başarılar.
Meraba Sql`de denedim Kategoriler,AltKategoriler olarak Kategoriler geliyor AltKategorilerin sadece ilk kayıtları geliyor neden olabilir acaba bu ?
Kayıtların hepsini okumuyor olabilirsin. Datareader kullanıyorsan yukarıda yazmış olduğum gibi while içinde kayıtları almalısın. Eğer kayıtları datatable veya dataset ile alıyorsan bu sefer datatable veya dataset`te yer alan kayıt sayısna göre döngü oluşturup kayıtları almalısın.
ellerine saglık mehmet ilk alısveris sitesinde yaptıgımızda anlamamıstım bide hata vardı nasıl düzelttik bilmiorum:D ama simdi daha iyi anladım güzel anlatmıssın
Meraba olmadı for ile döndüm Kategoriler tbl.rows.Counter kadar döndüm for`un içinde Repeatırın databoudunu verdim databind ettim AltKategorilerde ise while kullanmışım zaten birde while`ın içinde for ile dönüp rdr.FieldCount`u kadar döndüp yine olmadı sizin yapınız çalışıyor ama onda problem yok benim sqlde problem var ya ne olabilir sorun kategoriler sorunsuz geliyor AltKategoriler ise her kategorinin ilk kayıtı geliyor her kategoride 1 tane alt kategori geliyor neden böle oluyor anlamadım :s
Neden olmadı bende anlamadım ama benim yazdığım kodun aynısını kullanırsan bir problem olmaz. Sql server kullanıyorsan sadece nesneleri access yerine sql için tanımlayacaksın.
güzel yöntem olmuş. Eline sağlık.
mrb öncelikle tbrkler hocam çalışmalar çok güzel bu uygulamayı vb dilinde yapacak olursak neleri değiştirmemiz gerekir
Sadece Codefile`da yazdığımız C# kodlarını VB`ye çevirmemiz yeterli olacaktır. (page_load eventı ve metodumuzu)
mrb Başarı dileklerimle,
Accordion uygulamasını ben de bir projemde kullanmak istedim ancak alt menü bağlantılarını yapamadım;yani butona tıkladığımda sayfaya gitmesini sağlayamasım.bu bölümü nasıl yapabilirim.
Merhaba. Öncelikle teşekkür ederim. Buradaki örnekte linklerin href değerlerini kendi değerlerin ile değiştirip kullanabilirsin.
çok güzel olmuş bir sorum olacaktı
select * from alt_menu where ana_menu_id=@ana_menu_id burda sql sorgusunda ilişkilendirme @ işaretiyle mi yapılıryor inner join ile de yapılabilinr mi?
Merhaba. Orada @ işareti ile sorgumuzda parametre belirliyoruz. Daha sonra hemen alt satırda da o parametrenin değerini veriyoruz. Burada wher koşulu ile işimizi yapabiliyoruz. Bunun dışında join işlemlerine gerek yok.
mrb hocam burada ana menu için alt menu olmadan da link verme işini nasıl bir fonksiyonla yapabiliriz
Dediğin gibi bir yapı için accordion uygulamasında html yapıyı değiştirmek gerekir. Benim hazırladığım örnekte accordion başlık bölümlerinde span tagı yerine a tagı kullanmalsın ve a tagında href özelliğine bakmalısın. Eğer href boş ise veya kendi atadığın bir değer ise link vermezsin eğer href dolu ise link verdirirsin. Böyle bir kontrol ile dediğini yapabilirsin.
hocam bi örnek yapabilirmisin ben tam anlamadım bunu link olayını vaktin varsa eğer
Cevabım biraz geç oluyor. Kusura bakma. Daha önce bir örnek vardı. eğer bulabilirsem paylaşırım bulamazsam örnek yapmaya çalışacağım. Yaparsam buradan paylaşırım.
Merhaba, ben yeni yeni öğreniyorum size birşey sormak istiyorum bu menuyu kullanıyorum ve size çok teşekkür ediyorum buna bir alt menu daha nasıl eklenir yapamadım. yani kategori, altmenu, urun şeklinde
yardımlarınız için şimdiden teşekkürler.
Merhaba. Bunun için
burada ve
burada yazmış olduğum yazılar ve örnekler yardımcı olur diye düşünüyorum.
Öncelikle emekleriniz için teşekkür ediyorum.Şöyle bi sorum olacak.Bu akordiyon örneğini asp + accesste yapmak istersek nasıl bir mantık izlemeliyiz.teşekkürler..
Bu örneği Asp ile yapmak için Repeater'ın itemtemplate bölümüm arasında yer alan html veriyi for döngüsü ile yapman ve oradaki Eval ile çektiğin verileri Asp'deki veritabanı nesneleri ile alman gerekir. Bu şekilde yapabilirsin.
İlginiz için teşekkür ederim.Biraz uğraştırdı ama sonunda oldu...
Tekrardan merhabalar.Bu accordion uygulamasında ilk açılışta herhangi bir kategorinin açık olmasını nasıl yapabiliriz??
Bunun için document.ready(function(){ /*buraya*/ }); arasına aşağıdaki gibi bir kod eklemen yeterli.
var index = 1; /*bu değeri kendin vereceksin*/
$("#accordion div:eq("+index+")").slideDown(300);
aktif = index;
Denemediğim için hata olabilir. Ancak mantık böyle olmalı.
İlginiz için çok teşekkürler.Kodu denedim.Gayet güzel çalışıyor.İyi çalışmalar..
ali
29 Kasım Pazar 2009 00:29
#26
Merhaba.Bu makale ile ilgili değil ama,jquery içerisinde yani script kodda Eval nasıl kullanabiliriz?Örneğin;
asp.net de div içerisinde #Eval("Yorum") şeklinde yazabiliyoruz ama ben jquery içerisinde kullanmak istiyorum div.html("") içerisine yazdığım zaman Eval ı hata alıyorum.Nedeni ne olabilir acaba??
ali
29 Kasım Pazar 2009 00:33
#27
Bu makale ile ilgilide herhalde en can alıcı kısım var aktif=-1 olan yerin ana fonksiyon dışında tutulması tek fonksiyon olmasına rağmen neden ana fonksiyon dışında tuttunuz.Çünkü fonksiyon içinde o değişkeni tanımladığımız zaman tam anlamıyla istediğimiz olayı elde edmiyoruz..??
Merhaba. Öncelikle ilk sorundan başlayım. Eval kullanmak için bir data kontrolünün template'i içinde çalışmak gerekiyor. Yani data kontrolü dışında Eval kullanılmaz. Sanırım bu yüzden hata alıyorsun. Bunun yerine public bir değişken tanımlayıp, bu değeri dediğin gibi kullanabilirsin. İkinci olarak örnekte dediğin değeri o şekilde tanımlamak dışında bir de document.ready fonksiyonunun hemen içinde tanımlamak yeterli olur. Onun dışında diğer fonksiyonların içinde tanımlamak sıkıntı oluşturur.
ali
29 Kasım Pazar 2009 01:44
#29
Benim anlamadığım şey,jqueryde örneğin
div.html("tag b tag herhangibirşey tag b tag") şeklinde kullanabiliyoruz da
repeaterda vs kullandığımız Eval ı
div.html("taglar içerisinde Eval("Yorum")") şeklinde yazamıyoruz.Burda bahsettiğim div de repeater içerisindeki div.
Yani bu yazdığımız değer zaten yine repeater içerisindeki div in html ine yazdırmaya çalışıyorum.
daha net olaral repeater içerisindeki div e jquerydeki html içerisine eval gömerek veri aktarmak istiyorum.
Eğer repeater içinde kullanmak istiyorsan tabiki kullanabilirsin. Bunun için .html("<%# Eval("yorum") %>") şeklinde bir jQuery kodu kullanabilirsin.
ali
29 Kasım Pazar 2009 12:24
#31
İste bunu nasıl kullanabiliyoruz?.Yani .html içerisinde Eval nasıl yazılıyor.Mesela div.html("Eval("Yorum")") --!güvenlik için izin vermediğinizden tagları ve yüzde işaretini yazmadım !-- onları da ekleyip yazınca olmuyor.yani tek tırnak mı olacak yoksa '',"",++ bunların burada nasıl kullanılacağını çözemedim..html("Eval('Yorum')") gibi bu kombinasyonu çözemedim.Ama yine de cevap verdiğin için tsekkur..
Bir önceki yorumumda nasıl olacağını belirtmiştim. Aynen o şekilde kullanılır ama script kodlarında ve syntax'ta hata yapıyor olabilirsin. Kodlarını veya örneğini atabilirsen ben de bakabilirim.
Peki tiklanan menünen açık kalmasını nasıl sağlayabiliriz? mesela açık olan sayfayı bilmesi için.
Bunun için daha önce yazmış olduğum (24. sıradaki) yoruma bakabilirsin. Burada hangi menünün açık olması gerektiğini belirlenen değişken ile belirtebiliyoruz.
alt menü veritabanına birde url eklemek mümkünmü? Alt menüye tıkladığımızda istediğim sayfaya yönlendirme yapamadım. mesela televizyona tıkladığımda televizyon.aspx açılsın bunu nasıl yapabilirim. teşekkürler
Merhaba. Ben böyle bir yapı nasıl yapılabilir konusunda bir fikir vermek amacıyla bu örneği hazırladım. Bu örneği inceleyerek istediğin tarzda yapıyı oluşturabilirsin. Bahsettiğin yapı için örneğimde alt_menu_getir metodundaki a tagının href değerini söylemiş olduğun sütundan alman yeterli olacaktır.
s.a buradaki kodları başka bir sayfaya veya master sayfasına kopyaladığımda hata veriyor. masterpage sayfamda kullnmak istiyorum yardımcı olursanız sevinirim.
As. Kodları kopyalamak yeterli olmayabilir. jQuery kütüphanesini eklemek gerekiyor. Eğer sayfalara jQuery kütüphanesini eklemiyorsan sıkıntı oluyor olabilir. Sıkıntının kaynağını bulman için Firebug kullanmanı tavsiye ederim.
hocam gercekten çok teşekkür ederim. sıkıntılarımıza anında cevap veriyorsun. saolun
merhabaar öncelikler örnek uygulaman için teşekkürler.. bende bir sitemde kategorileme mantığı kullandım ürünler çok uzadığı için açılır menü eklemek istiyorum ... kategoriler.ascx dosyam içinde repeater'den SQL'deki ana tablom ve alt tablomdan kategori id'lerini çekip sitede kategorileme yaptım bu kategorilemeyi açılır menü olarak yapmak istiyorum nasıl yapabilirim bir kaç tane deneme yapmaya çalıştım bir türlü açılır menü yapamadım yardımcı olabilirmisini acaba ?
Merhaba. Bahsettiğin yapı buradaki örnekle benzer bir yapı. Örnek olarak hazırladığım dosyaları indirip, inceleyebilir ve oluşturacağın yapıya uyarlayabilirsin.
şimdi bu yapıda benim çözemediğim bir olay var oda şu;
alt_menu_getir metodunda int ana_menu_id parametreyi nerden ve nasıl alıyor?..teşekkürler
Merhaba. Burada Repeater kontrolünün itemtemplate bölümüne bakarsan yazmış olduğumuz o metodu kullandığımızı görebilirsin. Yani repeater'ın her verisi için bu metot çalışmakta ve parametre değeri olarak ana_menu_id değerini almakta.
cevap yazdığınız için teşekkür ediyorum..
işte tamda orada bir hata alıyorum hatada şu;
DataBinding: 'System.Data.DataRowView', ana_menu_id adında bir özellik içermiyor.
ne manaya geldiğini çözemedim..
Merhaba. Burada ana_menu_id benim örneğimdeki sütunun adı. Sen kendi veritabanı tablonda kullanman gereken sütun adını yazmalısın. Hatanın nedeni bu isimde bir sütunun kullandığın veritabanı tablosunda olmaması.
Bu sistemi asp ile nasıl yapabiliriz?
Burada yapılması gereken kodlarını verdiğim Repeater kontrolünün itemtemplate'i içindeki html yapıyı for veya while döngüsü ile Asp ile oluşturmak. Bu şekilde bu uygulama Asp ile geliştirelebilir.
sn. mehmet duran örneğinizi 3 gündür benim kategoriler.ascx dosyasına almak istiyorum yapamadım yardım edermisiniz acaba repeater ile dbden verileri çektim ama açılır menü yapamıyorum bunu
Aynı yapyı oluşturup yine de hata alıyorsan scriptlerde sorun var demektir. Kodları doğru biçimde yazdığından ve gerekli jQuery kütüphanesini eklediğine emin misin?
evet gerekli yerlere yazdım kodları ama bir türlü açılır menü yapamadım basit birşey istiyoum ya öyle efectif bir menüde istemiyorum bir türlü ekleyemedim projeme açılı menüyü
Şimdi hata yok ama açılır menüde yok ... hata vermiyor açılıyor sayfa ama menülerim halen aynı bilgisayarı kırmaya ramak kaldı
Yapmaya çalıştığın dosyaları mailime atabilirsen bakabilirim.
merhaba sağol güzel örnek öncelikle.bende aynısı yaptım ve çalıştı ama şöyle birşey yapmam gerekiyor: birde ürünler tablosu var veritabanımda.bu tablo alt_menu_id ile bağlı "alt_menu" ye .sorum şu akordiyondan bir alt menu öğesine tıkladığımızda o alt menüye ait ürünleri sağda gösterebilirmiyiz ? bunuda ekleyebilirseniz sayfaya çok iyi olur.teşekkürler.
Merhaba. Şu anda örnek yapacak vaktim yok maalesef. Eğer kendin uğraşmış ve takılmış isen yardımcı olmaya çalışırım. İyi çalışmalar.
Kolay gelsin kusura bakma sürekli bu konuyla alakalı rahatsız ediyorum seni örneğini siteme en sonunda eklemeyi başardım ama bu seferde tuhar birşey oldu www.teknokarsa.com tahminen nerede yanlış bir iş yapmışımdır ?
Ancak cevap verebiliyorum. İlk gördüğümda accordion yapısına uygun değildi. Tablolar klanılmıştı ve o yüzden biraz karışmış durumda idi. Ya accordion yapısına uygun biçime getireceksin ya da tablolu duruma göre script kodları uyarlayacaksın.
Merhabalar
Sınırsız treeview alt menüsü nasıl yapılır makalenizde göstermişsiniz fakat bunu veritabanına nasıl uyarlayabiliriz.. misal access veritabanında yapışmış varsayarsak.. kullanıcı giricek menu hazırlıcak kendi kafasına göre sınırsız..
1.tablo ID |Anamenu
2.tablo ID |AnamenuID |Altmenu
3.tablo ID |AnamenuID |AltmenuID |2.Altmenu
yanı bu şekilde veritabanında oluşturmakla yine sınırlı yapmış oluyoruz bi nevi.. veritabanımızı nasıl şekillendirmemiz gerekir bu durumda??
Teşekkürler..
Merhaba. Öncelikle buradaki örneğimin statik olduğunu belirteyim. Yani bir veritabanı kullanımı söz konusu değil. Böyle bir yapıyı veritabanı ile yapabilmek için çeşitli yöntemler var. Bu örneği veritabanındaki derinlik belli bir düzeyi aşmayacak şekilde uyarlamak mümkün ama belirttiğin gibi sınırlı olmuş olur. Sınırsız yapılar için çeşitli yöntemler araştırılmış. İnternette bu konuyla ilgili dokümanları bulabilirsin.
arkadaşım örnek çok güzel ben kendime göre uyarladım ama büyük bi problem var.ben bu menüyü usercontrol ile yaptım ve masterpage de bir alana attım.yalnız javascripti çalışmıyor
Merhaba. Çözüm için problemin kaynağını bulmak lazım. Sorunlar script kütüphanelerinin sayfa doğru eklenmemiş olması olabilir, script hatası olabilir veya html yapının uygun olmaması olabilir. Bu durumlara dikkat etmelisin. Eğer script hatası varsa Firebug kullanmanı ve sorunlu noktayı bulmanı öneririm.
Mehmet bey teşekkür ederim. Paylaşmak güzel. İnşallah yakında ben çok şey paylaşacağım. Aklına, ellerine, beynine sağlık.Teşekkür ederim
Peki hocam bu işlemi hem asp kullanarak hem de bir alt kategori daha eklemyi nasıl yapabılırz.
Merhaba. İçe içe bu tür işlemlerde kaç tane alt basamak olacaksa o kadar iç içe döngü kurup her döngü içinde elemanları alarak gerekli html çıktıyı üretmelisin.
Hocam Öncelikle eline sağlık çok güzel bir paylaşım. Benim sormak istedigim bir yer var şimdi ben web servis ile veri alıyorum dataset içinde verilerim bana geliyor ve onları alabiliyorum ... bu datasetteki verilere göre bu menüyü kullanmak istiyorum benim kisi de bunun benzeri bunun için acordion menü olan yerde (asp kısmında) Eval alanında sorun veriyor onu nasıl degistirebilirim ????
cevap verirseniz sevinirim...
Merhaba. Hata aldığın kısımda yani Eval özelliği ile kontrole yüklenen verilerdeki sütun isimlerini kullanabilirsin. Sanırım aldığın hatanın nedeni de Eval ile kullanmış olduğun sütun isminin kontrole aktarmış olduğun data içinde yer almıyor olması. Buna dikkat ederek Eval kısımlarını uyarlarsan sorun yaşamazsın.
gerçekten güzel bir çalışma ben çalılştırdım ancak bir türlü vb dönüştüremedim C# da mükemmel çalışıyor beni site vb olduğu için çalışmadı kodları uyarlarken bir hata yaptım ama çözümü bulamadaım. C# dosyalarını vb çevirmeden master a ekleminin bir yolu var mı şimdiden teşekkürler.
@serkan, Aslında otomatik dönüştürücüler var ama kodları dönüştürmeden bir proje içinde iki dili beraberce kullanabilirsin. Ancak masterpage'in kod türünü c# yapman gerekir ve her iki dili kullanabilmek için ise projenin web.config dosyasında ayarlama yapman gerekir.
Hocam uygulamanız gerçekten güzel olmuş ellerinize sağlık. Bende soran arkadaşlar için vb.net kodlarını paylaşacaktım ama burada sınırlı karkter giriliyor.
@Oğuzhan, teşekkür ederim. Paylaşmak istediğin dosyaya link verebilirsin veya mail atabilirsen halledebiliriz.