Заполнение источника данных sfComboBox5 в зависимости от значения другого sfComboBox4 - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь заполнить элементы меню (это ComboBox), когда значение Menu (также ComboBox) изменяется с помощью EntityFramework. Вот событие изменения индекса для меню (ComboBox4).

        private void sfComboBox4_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.sfComboBox4.SelectedValue == null)
            {
                Console.WriteLine("Please select Menu");
            }
            else
            {
                this.loadMenuItems(Convert.ToInt32(this.sfComboBox4.SelectedValue.ToString()));
            }
        }

Теперь, это код для загрузки пунктов меню в ComboBox5, который предназначен для отображения пунктов меню.

        private void loadMenuItems(int menuId)
        {
            //Here we are nullifying the previous data source for menu items ComboBox4
            this.sfComboBox5.DataSource = null;
            this.sfComboBox5.SelectedValue = null;
            this.sfComboBox5.SelectedItem = null;
            this.sfComboBox5.Text = null;

            RestaurentEntities DB = new RestaurentEntities();
            List<menuitem> selectedMenuDB = (DB.menuitems.Where(m => m.Menu_idMenu == menuId)).ToList();    

            DB.Dispose();

            if (selectedMenuDB != null)
            {
                this.sfComboBox5.DataSource = selectedMenuDB;
            }
            else { Console.WriteLine("Menu is Empty therefore Menu items too");
            }

        }

Вот событие изменения индекса для ComboBox5, которое используется для отображения пункта меню.

        private void sfComboBox5_SelectedValueChanged(object sender, EventArgs e)
        {
            if(this.sfComboBox5.SelectedValue != null)
            {
                Console.WriteLine(this.sfComboBox5.SelectedValue);//Exception
            }
        }

Теперь проблема в том, что когда я изменяю меню в третий раз, оно не заполняет пункты меню. Combobox

{"Ссылка на объект не установлена ​​для экземпляра объекта. "}

...