ListView da Arama Yapmak

Merhaba Arkadaşlar, bu makalemizde TextBox a girmiş olduğumuz stringi
ListView nesnesinde aratacağız. Bu örnekte Ürün Adına göre arama yapacağız.
Formunuzu Şekil 1 deki gibi oluşturun.



Şekil 1

Şekil 2

Şekil 3

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

DataTable tablo;

private void Form1_Load(object sender, EventArgs e)

{

//tablo oluşturup bilgileri giriyoruz.

tablo = new DataTable();

tablo.Columns.Add("Id", typeof(string));

tablo.Columns.Add("UrunAdı", typeof(string));

tablo.Columns.Add("Fiyatı", typeof(string));

tablo.Rows.Add("1", "Apple Laptop","1500");

tablo.Rows.Add("2", "Casper Laptop", "1500");

tablo.Rows.Add("3", "IBM Laptop", "1500");

tablo.Rows.Add("4", "SATA2 Harddisk","100");

tablo.Rows.Add("5", "DDR3 Ram","110");

tablo.Rows.Add("6", "4 GB Flash Bellek","15");

tablo.Rows.Add("7", "4 GB microSD ", "15");

tablo.Rows.Add("10", "500 GB Pocket Harddisk","130");

tablo.Rows.Add("11", "19 inc LCD Ekran", "150");

//listview nesnesindeki sutunları oluşturuyoruz.

listView1.View = View.Details;

listView1.Columns.Add("Id",50);

listView1.Columns.Add("Ürün Adı",100);

listView1.Columns.Add("Fiyatı (USD)",50);

ekle();

textBox1.TextChanged += new EventHandler(textBox1_TextChanged);

}

void textBox1_TextChanged(object sender, EventArgs e)

{

ekle();

}

private void ekle()

{

listView1.Items.Clear();

foreach (DataRow row in tablo.Rows)

{

//Textboxa girilen stringi ListView da UrunAdı sütununda

//aratıyoruz.

if (row["UrunAdı"].ToString().StartsWith(textBox1.Text))

{

ListViewItem item = new ListViewItem(row["Id"].ToString());

item.SubItems.Add(row["UrunAdı"].ToString());

item.SubItems.Add(row["Fiyatı"].ToString());

listView1.Items.Add(item);

}

}

}

}

}

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

1 comments:

Adem dedi ki...

slm ben bu arama işlemini yapmak için çok uğraştım. ben bilgileri listview e veri tabanından çekiyorum. bana yardımcı olurmusunuz arama işlemi için.
kodlarım şu şekilde:


public void listele()
{
OleDbCommand kmt = new OleDbCommand("SELECT Tarih_Saat,P_No,Km_Onceki,Km_Simdi,Km_Fark,Alinan_lt,Y_Turu,Aciklama FROM Satis ORDER BY Tarih_Saat", bag);
OleDbDataReader oku = null;
bag.Open();//baglantıyı acar
oku = kmt.ExecuteReader();//verileri cekme komutunu calıstırır
listView1.Items.Clear();//listview in içeriğini temizler
while (oku.Read())//database deki verileri listview e yazdırır
{
ListViewItem ekle = new ListViewItem(oku["P_No"].ToString());
ekle.SubItems.Add(oku["Tarih_Saat"].ToString());
ekle.SubItems.Add(oku["Km_Onceki"].ToString());
ekle.SubItems.Add(oku["Km_Simdi"].ToString());
ekle.SubItems.Add(oku["Km_Fark"].ToString());
ekle.SubItems.Add(oku["Alinan_lt"].ToString());
ekle.SubItems.Add(oku["Y_Turu"].ToString());
ekle.SubItems.Add(oku["Aciklama"].ToString());
listView1.Items.Add(ekle);
}
oku.Close();
bag.Close();//baglantıyı kapatır
}

private void Ana_Sayfa_Load(object sender, EventArgs e)
{
listele();
}
ve textbox1 e girilen değeri listview de o.kolonda plaka noya göre arama yaptırmak istiyorum.
Siz tablo kullanmışsınız ben bilgileri veri tabanından çektiğim için arama işlemi gerçekleşmiyor.

foreach (DataRow row in tablo.Rows) satırı şartı kabul etmiyor lütfen yardımcı olurmusunuz.

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...