none
listviewde çoklu arama RRS feed

  • Soru

  • textboxlara yazdıklarımı tek bir buton ile ortak arama yapmak istiyorum. örnek olarak hem ürünün cinsini yazacağım hem de ürünün özelliğini yazacağım. o cins ve özellikteki ürünleri sıralayacak. 6 kriter var diyelim, istediğimiz kadarına göre filtreleme yapabileceğiz
    • Düzenleyen birgull 7 Şubat 2019 Perşembe 20:22
    7 Şubat 2019 Perşembe 20:15

Tüm Yanıtlar

  • public string SqlText;
    
    public List<OleDbParameter> Parametreler
    {
        get
        {
            SqlText = "SELECT * FROM [TabloAdi] WHERE ";
            List<OleDbParameter> ret = new List<OleDbParameter>();
            if (!string.IsNullOrWhiteSpace(textBox1.Text))
            {
                ret.Add(new OleDbParameter("@UrunAdi", textBox1.Text));
                SqlText += "[UrunAdi]=@UrunAdi";
            }
            if (!string.IsNullOrWhiteSpace(textBox2.Text))
            {
                ret.Add(new OleDbParameter("@UrunOzelligi", textBox2.Text));
                SqlText += "[UrunOzelligi]=@UrunOzelligi";
            }
            if (!string.IsNullOrWhiteSpace(textBox3.Text))
            {
                ret.Add(new OleDbParameter("@UrunKodu", textBox3.Text));
                SqlText += "[UrunKodu]=@UrunKodu";
            }
            if (!string.IsNullOrWhiteSpace(textBox4.Text))
            {
                ret.Add(new OleDbParameter("@UrunAciklamasi", textBox4.Text));
                SqlText += "[UrunAciklamasi]=@UrunAciklamasi";
            }
            if (!string.IsNullOrWhiteSpace(textBox5.Text))
            {
                ret.Add(new OleDbParameter("@UrunKategorisi", textBox5.Text));
                SqlText += "[UrunKategorisi]=@UrunKategorisi";
            }
            if (!string.IsNullOrWhiteSpace(textBox6.Text))
            {
                ret.Add(new OleDbParameter("@UrunBarkodu", textBox6.Text));
                SqlText += "[UrunBarkodu]=@UrunBarkodu";
            }
            if (ret.Count == 0)
            {
                ret = null;
                SqlText = SqlText.Replace(" WHERE ", "");
            }
            return ret;
        }
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        DataTable dTable = new DataTable();
        using (SqlConnection con = new SqlConnection("Bağlantı metninizi buraya yazın.!."))
        {
            using (SqlDataAdapter dAdapter = new SqlDataAdapter(SqlText, con))
            {
                if (Parametreler != null)
                    dAdapter.SelectCommand.Parameters.AddRange(Parametreler.ToArray());
                dAdapter.Fill(dTable);
            }
        }
        dataGridView1.DataSource = dTable;
    }
    
    Kolon ve parametre isimlerini kendi veri tablonuzun yapısına göre değiştirin.

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    7 Şubat 2019 Perşembe 22:24
  • datagridview yazıyor ama listviewde de aynı mı ve microsoft sql veritabanında

    • Düzenleyen birgull 8 Şubat 2019 Cuma 19:00
    8 Şubat 2019 Cuma 18:37
  • Önemli olan veri tablosunu elde etmekti.

    Siz onu nerede isterseniz kullanabilirsiniz.

    Kodlardaki dTable nesnesi sizin istediğiniz sonuçları içeriyor. 

    MS SQL ile kullanabilirsiniz.


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    9 Şubat 2019 Cumartesi 06:32