c# ile textBox9 e yazılanı dataGridView1 de filtreleyip arama nasıl yapılır

ismooo

Katılımcı Üye
19 Ocak 2009
272
4
uzay
yapay zekaya soruyorum saçma sapan alakasız şeyler yazıyor yardımcı olabilecek var mı?

Kullanılan Yazılım DiliC#
Hata Kodu veya Hata Görseli
512ky9j.png
Problem AçıklamasıVerinin filtrelenmemesi.
Beklenen ÇözümC#'ta textBox9 içine yazılan veriyi, filtreleyip dataGridView1 üzerinde gösterme.
Problemi İçeren Kaynak KodKaynak kod bulunmuyor.
 
Moderatör tarafında düzenlendi:

ismooo

Katılımcı Üye
19 Ocak 2009
272
4
uzay

dataGridView1'e verileri nasıl getiriyorsun kodunu yazarmısın​

Ayrıca buradaki örnek işine yarayacaktır. Sorun olursa yaz bakalım
hocam yapamadım bu arada verileri xml dosyasından alıyorum sql serverden değil
 

ismooo

Katılımcı Üye
19 Ocak 2009
272
4
uzay
Kod:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;


namespace WinFormsApp15
{
    public partial class Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();
        }

        void yukle()
        {
            XmlDocument i = new XmlDocument();
            DataSet ds = new DataSet();
            //xml dosyamızı okumak için bir reader oluşturuyoruz.
            XmlReader xmlFile;
            //readerin içine pathini verdiğimiz dosyayı dolduruyoruz.burada önemli olan bir nokta var.ya path imizin başına @ yazacağız ya da çift  kullanacağız.
            xmlFile = XmlReader.Create(@"veri.xml", new XmlReaderSettings());
            //içeriği Dataset e aktarıyoruz.
            ds.ReadXml(xmlFile);
            //gridviewin kaynağı olarak dataseti gösteriyoruz.
            dataGridView1.DataSource = ds.Tables[0];
            xmlFile.Close();
        }
        private void Form4_Load(object sender, EventArgs e)
        {
            yukle();

        }

        private void button1_Click(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");

            x.Element("teklifler").Add(
            new XElement("teklif",
            new XElement("tarih", textBox1.Text),
            new XElement("adi", textBox2.Text),
            new XElement("brans", textBox3.Text),
            new XElement("sirket", textBox4.Text),
            new XElement("TeklifNo", textBox4.Text),
            new XElement("EkranPrimi", textBox5.Text),
            new XElement("indirim", textBox6.Text),
            new XElement("aciklama", textBox7.Text)
            ));

            x.Save(@"veri.xml");
            yukle();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");

            //ürün tarih= textbox'a girilen numaralı sil
            x.Root.Elements().Where(a => a.Element("tarih").Value == textBox1.Text).Remove();
            x.Save(@"veri.xml");
            yukle();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");
            XElement node = x.Element("teklifler").Elements("teklif").FirstOrDefault(a => a.Element("tarih").Value.Trim() == textBox1.Text);
            if (node != null)
            {
                node.SetElementValue("adi", textBox2.Text);
                node.SetElementValue("brans", textBox3.Text);
                node.SetElementValue("sirket", textBox4.Text);
                x.Save(@"veri.xml");
                yukle();
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            // Tıklanan satırın index numarasını alıyoruz
            int rowIndex = e.RowIndex;
            // dataGridView'in ilgili hücrelerinden verileri alıyoruz
            string tarih = dataGridView1.Rows[rowIndex].Cells["tarih"].Value.ToString();
            string adi = dataGridView1.Rows[rowIndex].Cells["adi"].Value.ToString();
            string brans = dataGridView1.Rows[rowIndex].Cells["brans"].Value.ToString();
            string sirket = dataGridView1.Rows[rowIndex].Cells["sirket"].Value.ToString();
            string TeklifNo = dataGridView1.Rows[rowIndex].Cells["TeklifNo"].Value.ToString();
            string EkranPrimi = dataGridView1.Rows[rowIndex].Cells["EkranPrimi"].Value.ToString();
            string indirim = dataGridView1.Rows[rowIndex].Cells["indirim"].Value.ToString();
            string aciklama = dataGridView1.Rows[rowIndex].Cells["aciklama"].Value.ToString();
            // Verileri istediğimiz textboxlara aktarıyoruz
            textBox1.Text = tarih;
            textBox2.Text = adi;
            textBox3.Text = brans;
            textBox4.Text = sirket;
            textBox5.Text = TeklifNo;
            textBox6.Text = EkranPrimi;
            textBox7.Text = indirim;
            textBox8.Text = aciklama;
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");

            x.Element("teklifler").Add(
            new XElement("teklif",
            new XElement("Tarih", textBox1.Text),
            new XElement("adi", textBox2.Text),
            new XElement("brans", textBox3.Text),
            new XElement("sirket", textBox4.Text),
            new XElement("TeklifNo", textBox5.Text),
            new XElement("EkranPrimi", textBox6.Text),
            new XElement("indirim", textBox7.Text),
            new XElement("aciklama", textBox8.Text)
            ));

            x.Save(@"veri.xml");
            yukle();
        }

        private void button2_Click_1(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");
            XElement node = x.Element("teklifler").Elements("teklif").FirstOrDefault(a => a.Element("TeklifNo").Value.Trim() == textBox5.Text);
            if (node != null)
            {
                node.SetElementValue("Tarih", textBox1.Text);
                node.SetElementValue("adi", textBox2.Text);
                node.SetElementValue("brans", textBox3.Text);
                node.SetElementValue("sirket", textBox4.Text);
                node.SetElementValue("EkranPrimi", textBox6.Text);
                node.SetElementValue("indirim", textBox7.Text);
                node.SetElementValue("aciklama", textBox8.Text);

                x.Save(@"veri.xml");
                yukle();
            }
        }

        private void button3_Click_1(object sender, EventArgs e)
        {
            XDocument x = XDocument.Load(@"veri.xml");

            //ürün id= textbox'a girilen numaralı öğrenciyi sil
            x.Root.Elements().Where(a => a.Element("TeklifNo").Value == textBox5.Text).Remove();
            x.Save(@"veri.xml");
            yukle();

        }

        private void button4_Click(object sender, EventArgs e)
        {

        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {

        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
            textBox6.Clear();
            textBox7.Clear();
            textBox8.Clear();

        }

        private void textBox8_TextChanged(object sender, EventArgs e)
        {

        }

        private void textBox9_TextChanged(object sender, EventArgs e)
        {

        }
    }
}

Uzaktan bağlanıp yardım edebileek var mı birde yazdırma butonunu yapamadım
 

bastama

Üye
1 Eyl 2009
208
4
Bu kodları dene
void yukle(string filterText = "")
{
XmlDocument i = new XmlDocument();
DataSet ds = new DataSet();
XmlReader xmlFile;

xmlFile = XmlReader.Create(@"veri.xml", new XmlReaderSettings());
ds.ReadXml(xmlFile);

// Apply the filter to the dataset
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = $"adi LIKE '%{filterText}%' OR brans LIKE '%{filterText}%' OR sirket LIKE '%{filterText}%' OR TeklifNo LIKE '%{filterText}%' OR EkranPrimi LIKE '%{filterText}%' OR indirim LIKE '%{filterText}%' OR aciklama LIKE '%{filterText}%'";

// Set the filtered dataset as the DataGridView's data source
dataGridView1.DataSource = dv;

xmlFile.Close();
}


private void Form4_Load(object sender, EventArgs e)
{
yukle();
}

private void textBox9_TextChanged(object sender, EventArgs e)
{
yukle(textBox9.Text);
}
 

BeoWulf007

Kıdemli Üye
19 Haz 2013
2,762
507
24
Praise The Fool
Bunu yapmanın belli bir formülü yöntemi yok. Arama yaptırmak için kullandığın textbox'ın text changed eventlerinden birine yazacaksın işte kodları. Mantık da aşağı yukarı şöyle olacak; tüm değerleri tuttuğun bir Array falan olsun, orada hemen bir for döngüsü ile falan eleme yap, çıkan sonuçları datagrid'e yazdır. Bir de bu changed eventine eger boş değer gelirse, tüm değerleri yazdırdığın bir koşul da ekle. Al sana filtreleme.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.