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);
}
}
}
}
}
1 comments:
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.
Yorum Gönder