Как отображать элементы управления на основе Combobox Selection в приложении Windows во время редактирования? - PullRequest
0 голосов
/ 31 августа 2018

Тип значения 1

Value Type 2

Я использую приложение Windows и создал одну форму для режима добавления и редактирования. Проблема в «Добавить», она работает нормально, но при редактировании элементы управления не отображаются на основе выбора в выпадающем списке. Согласно моему событию изменения выбора в выпадающем списке, я скрыл элементы управления. Но мой выпадающий список также не выбирает значения и не вызывает событие изменения. Код:

//Edit Mode        

public CompanyAddEdit(MainForm form, string id)
{
    InitializeComponent();
    passedForm = form;
    var cmbList = BindCompanyType();
    isEdit = true;
    xmlDocPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Companies.xml");
    xDocument = XDocument.Load(xmlDocPath);
    Id = Convert.ToInt32(id);
    XElement company = xDocument.Descendants("Company").FirstOrDefault(p => p.Element("Id").Value == Id.ToString());

    if (company != null)
    {
        var type = company.Element("DataSourceType").Value;
        cmbbx_companyType.SelectedItem = type;
    }
}

Я связываю Combobox, используя этот метод:

private Array BindCompanyType()
{
    var companyTypeList = Enum.GetValues(typeof(CompanyType));
    cmbbx_companyType.DataSource = companyTypeList;           
    return companyTypeList;
}

Как я могу это исправить? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 31 августа 2018

Итак, вы заполнили комбинированный список элементами типа CompanyType enum. поэтому выбранный элемент также должен быть того же типа. Надеюсь, что вы получаете строку из company.Element("DataSourceType").Value;, чтобы вы могли изменить код следующим образом:

cmbbx_companyType.SelectedItem = Enum.Parse(typeof(CompanyType),type);        

Пожалуйста, попробуйте и дайте мне знать, решит ли это проблемы или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...