Kurumsal Otomasyon Çözümlerinde Zirve

ListView’de Kayitlar Arasina Baska Nesneler Birakm

Bir önceki makalemizde ListView kontrolünü tanimis, Listview kontrolünün DataGridview, DataList, FormView gibi kontrollere göre avantajindan bahsetmistik. ListView konumuzu güzel bir örnekle sekillendirip bu konuya daha fazla hakim olmanizi istiyorum.

Bilindigi üzere ListView kontrolü de diger Data kontrolleri gibi herhangi bir veri kaynagindan çekilen veriyi bir sekilde siralamaya ve kullaniciya göstermeye yarar. Genellikle gösterilen veriler sadece listeden ibarettir.

Peki, siz bu kayitlar arasina örnegin reklam koymak istediniz, ne yaparsiniz?

Iste bu yazimda bunun cevabini bulabileceksiniz. Takip edin…

1.Adim: Bir Adet ASP.NET projesi açiniz.

2.Adim: Projenize bir adet ListView, bir adet AccessDataSource Kontrolü birakiniz. (Ben verileri Access tablosundan çekecegim. Siz isterseniz baska kaynaklarla da çalisabilirsiniz.)

AccessDataSource a ait görünüm asagidaki sekilde oldu.


asp:AccessDataSource>

3.Adim: ListView’in DataSource unu AccessDataSource1 yapiniz ve Listview’in Configure ListView seçenegini kullanarak açilan ekrandan isteginize göre bir yapi seçiniz. Projenizi çalistiriniz. Simdilik görünüm asagidaki biçimde…

Tabii amacimiz konuya baslarken gösterdigim gibi her kategorinin üzerine kategori basligi eklemek.

4.Adim: Web Site>Add New Item>StyleSheet seçerek bir adet Css dökümani ekleyiniz.

Asagidaki Css Class’ini ekleyiniz.

body {
}
.kategori
{
background-color:green;
color:White;
}

5.Adim: Sayfanizin Code Behind kisminda (C#,VB kodlarini yazdiginiz yerde) asagidaki fonksiyonu yaziniz.

C#

string eskiKategori = “”;
protected string KategoriBasligiEkle()
{
string kategori = Eval(“kat”).ToString();

if (eskiKategori != kategori)
{
string deger = “Kategori = “+kategori+””;
eskiKategori = kategori;
return deger;
}

return “”;
}

VB

Private eskiKategori As String = “”
Protected Function KategoriBasligiEkle() As String
Dim kategori As String = Eval(“kat”).ToString()

If eskiKategori <> kategori Then
Dim deger As String = “Kategori = ” + kategori + “”
eskiKategori = kategori
Return deger
End If
Return “”

End Function

Burada yapilan sey her kayit gezildiginde Eval(“kat”) ile gelen kategorimiz bir öncekinden farkliysa

string deger = “Kategori = “+kategori+””;

ifadesini döndürmesi, farkli degilse “” döndürmesinden ibaret. Kategori farkli ise yeni bir satir ve içerisine hücre olusturulup Farkli olan kategorinin ismi yerlestirilmistir.

Simdi bu fonksiyonu ListView’in itemTemplate’i içerisine yerlestirelim.

<%#KategoriBasligiEkle()%>

‘ />
td>

‘ />
td>
tr>
ItemTemplate>

Iste Sonuç…

Diger yazilarimda görüsmek üzere…

Yorum Yapılmamış

Bir cevap yazın