Фильтрация по dataGrid в wpf c#

128
18 января 2020, 03:10

Делаю аис для аэропорта, в рамках курсового проекта. Для удобного использования бд решил делать фильтрация в реальном времени. Программа фильтрует по id_route, но с ошибками(То есть если в текст боксе пустое значение вылетает с ошибкой), а при попытке фильтрации по имени(plane_name) вообще ничего не происходит. Вот код и код ошибки:

  namespace Airport

{

public partial class Reisi : Window
{
    private OleDbConnection myConnection;
    public static string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=workdb.mdb;";
    public Reisi()
    {
        InitializeComponent();
        myConnection = new OleDbConnection(connectString);
        myConnection.Open();


    }
    public DataTable airchtototam = new DataTable();
    private int id;
    private void Reis_Loaded(object sender, RoutedEventArgs e)
    {
            string spisokreisov = "SELECT Reis.id_route ,plane.plane_name, Reis.time_in, Reis.time_out, Reis.terminal_name FROM Reis, plane WHERE Reis.id_pane=plane.id_plane";
            OleDbCommand spisok_1 = new OleDbCommand(spisokreisov, myConnection);
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter(spisok_1);
            spisok_1.CommandType = CommandType.Text;
            dataAdapter.Fill(airchtototam);
            Reis.ItemsSource = airchtototam.DefaultView;
    }
    private void Reis_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        DataRowView row = Reis.SelectedItem as DataRowView;
        //id = Convert.ToInt32(row.Row.ItemArray[0]);
        string planename = "SELECT * FROM Reis, plane WHERE Reis.id_pane=plane.id_plane AND Reis.id_route= "+id+"";
        OleDbCommand command = new OleDbCommand(planename, myConnection);
        OleDbDataReader dataReader1 = command.ExecuteReader();
        while (dataReader1.Read())
        {
           ltzzz.Text = dataReader1["plane_name"].ToString();
           ltzzz1.Text = dataReader1["time_in"].ToString();
            ltzzz2.Text = dataReader1["time_out"].ToString();
            ltzzz3.Text = dataReader1["terminal_name"].ToString();
        }
    }
    private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
    }
    private void ComboBox_Loaded(object sender, RoutedEventArgs e)
    {
        List<String> data = new List<string>();
        data.Add("По рейсу");
        data.Add("По Самолёту");
        data.Add("По Дате");
        var combo = sender as ComboBox;
        combo.ItemsSource = data;
        combo.SelectedIndex = 0;
    }
    private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
    {
        if (comboBox1.Text == "По рейсу")
        {
           airchtototam.DefaultView.RowFilter = string.Format("[id_route] = '" + textbox1.Text + "'");
        } else if(comboBox1.Text == "По Cамолёту")
        {
            airchtototam.DefaultView.RowFilter = string.Format("[plane_name] LIKE '" + textbox1.Text + "%'");
        } else if(comboBox1.Text == "По дате")
        {
        }
    }
}

}

READ ALSO
Как повернуть изображение в PictureBox на x градусов?

Как повернуть изображение в PictureBox на x градусов?

Необходимо повернуть PictureBox на x градусов при нажатии на кнопкуПока что нашел только поворот через bitmap1

169
Как реализовать Alt+TAB

Как реализовать Alt+TAB

В окне формы ввожу логин и пароль, затем selenium заходит на сайт, авторизуется, забирает необходимые данные и записывает их в comboBox1 на этой же формеПользователь...

124
C++ как располагаются методы?

C++ как располагаются методы?

К примеру есть файлcpp, в нем есть метод, который не относится не к какому пространству method(wchar_t ch) {

122
c++ cli или где типизация?

c++ cli или где типизация?

Перевожу код из c++ cli в c#Есть фрагмент когда

129