Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
2
Cevap
545
Tıklama
0
Öne Çıkarma
İç içe repeater
M
11 yıl
Er
Konu Sahibi

Merhaba arkadaşlar.
Lise öğrencisiyim ve proje ödevi için blog sitesi kuruyorum. Yapmak istediğim şey tam olarak;

Yıllar ve aylara göre yazılar kategorilere ayrılacak. Yani;

+2014 yılında
&nbsp&nbsp +Ocak
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp +EklenenYazı
&nbsp&nbsp+Şubat
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp +EklenenYazı


+2013 yılında
&nbsp&nbsp +Ocak
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp +EklenenYazı
&nbsp&nbsp +Şubat
&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp +EklenenYazı şeklinde devam edecek.

Bunu nasıl yapabilirim? Yardımcı olursanız sevinirim. Şimdiden teşekkürler

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi mlbrg -- 29 Mayıs 2014; 4:35:07 >

O
11 yıl
Binbaşı

Zamanında çok kafa patlattığım ,gecelerimi gündüzlerime kattığım bir şey arıyorsun sen. En sonunda çözümünü bulupda hostingimdeki mysql'ın hızı yetmeyinde delirip shift delete yaptığım karmançorman ve hantal kodlar silsilesi. Fakat sana lazım olan şey repeater içinde repeater değilde biraz daha detaylı bir sql kodu. Hangi veritabanını kullandığını söylememişsin ama ben MSSQL için elimin altında olan bir satır kodu yazayım, gerisi sen getir;
 
use database1;
select * from yazilar where YEAR(kayitTarihi)=2013 and MONTH(kayitTarihi)=1

komutu sana sadece 2013 ocak ayindaki yazilari getirir. koda bakmadan yazdığım için hata olabilir bi bakayım düzeltirim. İyi çalışmalar.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @mlbrg
B
11 yıl
Er

Birinci repeaterin item grubuna ikinci repeateri koyup 2. nin datasource alanına 1. repeaterin datasource ID alanından gelen bilgiye göre 2. için gerekli olacak alanı sorgulayan ve çıktısını datatable olarak verebilen fonksiyonu yazacaksın. :)


<asp:Repeater ID="RptMainMenu" runat="server" >
<HeaderTemplate><ul> </HeaderTemplate>
<ItemTemplate>
<li<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=93068685&url=<%#DataBinder.Eval(Container.DataItem,"link","{0}") %>" data-href="<%#DataBinder.Eval(Container.DataItem,"link","{0}") %>"><i class="<%#DataBinder.Eval(Container.DataItem,"iconCss","{0}") %>"></i> <span><%#DataBinder.Eval(Container.DataItem,"menuContent","{0}") %></span></a>
<asp:Repeater ID="RptSubMenu" runat="server" DataSource='<%#subMenusDT(DataBinder.Eval(Container.DataItem,"adminMenuId","{0}")) %>' OnItemDataBound="RptSubMenu_ItemDataBound">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=93068685&url=<%#DataBinder.Eval(Container.DataItem,"link","{0}") %>" data-href="<%#DataBinder.Eval(Container.DataItem,"link","{0}") %>"><i class="<%#DataBinder.Eval(Container.DataItem,"iconCss","{0}") %>"></i> <span><%#DataBinder.Eval(Container.DataItem,"menuContent","{0}") %></span></a>
</ItemTemplate>
<SeparatorTemplate></li></SeparatorTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>

</ItemTemplate>
<SeparatorTemplate></li></SeparatorTemplate>
<FooterTemplate>


public static DataTable subMenusDT(string menuId)
{
string subMenuSQL = String.Format("Select * from Testu Where isSubItem=1 and mainItemId={0}", menuId);
return dataset_aktar(subMenuSQL, DatabaseLayer.MSSQLBAGLANTI, "MSSQL");
}

public static DataTable dataset_aktar(string sql, string BaglantiCumlesi, string VeritabaniTipi)
{
System.Data.DataTable dtableSQL = new System.Data.DataTable();
SqlConnection conSQL = new SqlConnection(BaglantiCumlesi);
conSQL.Open();
SqlDataAdapter DaSQL = new SqlDataAdapter(sql, conSQL);
DaSQL.SelectCommand.ExecuteNonQuery();
DaSQL.Fill(dtableSQL);
conSQL.Close();
conSQL.Dispose();
return dtableSQL;
}



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.