kako spojiti filtriranje 2 textBoxa i 2datetimePickera u c#?

tomislav91

Početnik
Poruka
2
Pozdrav forumasi,

problem je taj sto meni filtriranje radi posebno, ali zelim zajedno to da funkcionise, da ako unesem korisnika i dogadjaj da mi izbaci tog korisnika za taj dogadjaj izmedju recimo tog i tog datuma. Radi posebno, ako unesem raspon datuma, odradi, ako unesem korisnika ili dogadjaj radi sve, ali zajedno ne, kako to da resim?

Hvala unapred,
evo celog koda

Kod:
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;
using System.Data.OleDb;

namespace zadatak2
{
    public partial class Izvestaj : Form
    {
        private OleDbConnection connection = new OleDbConnection();
        private BindingSource bs;
       
 
        public Izvestaj()
        {
            InitializeComponent();
         
            
        }
         OleDbDataAdapter sda;
        DataTable dt;
       
        private void Izvestaj_Load(object sender, EventArgs e)
        {


            connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Tomy\Desktop\zadatak2\zadatak2\baza.mdb;User Id=admin;Password=;";
            dt = new DataTable();
            sda = new OleDbDataAdapter("SELECT korisnici.korisnik,dogadjaji.dogadjaj,Tomislav.Datum FROM dogadjaji INNER JOIN (korisnici INNER JOIN Tomislav ON korisnici.ID = Tomislav.korisnik_ID) ON dogadjaji.ID = Tomislav.dogadjaj_ID;", connection);
            sda.Fill(dt);
            dataGridView1.DataSource = dt;
            dataGridView1.Columns[0].Width = 120;
            dataGridView1.Columns[1].Width = 150;
            dataGridView1.Columns[2].Width = 150;
            bs = new BindingSource(dt,null);

        }

      

     

     private void textBox3_TextChanged(object sender, EventArgs e)

     {
         if (textBox3.Text == string.Empty)
         {
             bs.RemoveFilter();
         }
         else
         {
             bs.Filter = string.Format("dogadjaj LIKE '*{0}*'", textBox3.Text);
         }

     }

     private void textBox1_TextChanged(object sender, EventArgs e)
     {
         if (textBox1.Text == string.Empty)
         {
             bs.RemoveFilter();
         }
         else
         {

             bs.Filter = string.Format("korisnik LIKE '*{0}*'", textBox1.Text);
         }
     }

     private void button1_Click(object sender, EventArgs e)
     {
         if(dateTimePicker1.Value>dateTimePicker2.Value)
         {
             MessageBox.Show("Takav opseg nije moguc. Datum Od mora biti veci od datuma Do.", "Opseg datuma", MessageBoxButtons.OK, MessageBoxIcon.Error);
        

         }
         else{
         
         string query = "select korisnici.korisnik, dogadjaji.dogadjaj, Datum from korisnici, dogadjaji, Tomislav where Datum BETWEEN ? AND ?";



OleDbCommand cmd = new OleDbCommand(query, connection);
cmd.Parameters.AddWithValue("SDate", DbType.DateTime).Value = dateTimePicker1.Value;
cmd.Parameters.AddWithValue("EDate", DbType.DateTime).Value = dateTimePicker2.Value;

DataSet ds = new DataSet();
sda= new OleDbDataAdapter();

connection.Open();
sda.SelectCommand = cmd;
sda.Fill(ds, "Tomislav");
dataGridView1.DataSource = ds.Tables[0];
connection.Close();
     }
  }


     private void unosUBazuToolStripMenuItem_Click(object sender, EventArgs e)
     {
         this.Hide();
         Form1 baza = new Form1();
         baza.ShowDialog();
     }

     private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
     {
         if (MessageBox.Show("Da li ste sigurni?", "Exit", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
         {

             Application.Exit();

         }
     }

    

        
    }
}
 

Back
Top