Проблема BindingNavigator? - PullRequest
       1

Проблема BindingNavigator?

0 голосов
/ 12 сентября 2009

У меня есть обязательный навигатор, который я использую для добавления / редактирования элементов. Проблема, с которой я столкнулся, заключается в том, что, когда я нажимаю кнопку сохранения (кнопка, которую я добавил на панель инструментов), мои привязки, кажется, не вступили в силу. Этот код загружает и связывает мои данные.

        private void CompanyForm_Load(object sender, EventArgs e)
        {
            // Loads all of the companies
            companies = new BindingList<Company>(PersistenceManager.Instance.RetrieveAll<Company>()));
            companies.AllowNew = true;
            companies.AllowEdit = true;

            bindingSource.DataSource = companies;

            // Add our bindings
            companyIdTextBox.DataBindings.Add("Text", companies, "Id");
            companyNameTextBox.DataBindings.Add("Text", companies, "Name");
        }

И этот код запускается при нажатии кнопки сохранения:

        private void toolStripSaveButton_Click(object sender, EventArgs e)
        {
            // If we have no binding source, then we cannot save
            if (null == bindingSource.Current)
            {
                return;
            }

            Company company = bindingSource.Current as Company;

            // Save our company
            PersistenceManager.Instance.Save<Company>(company);
        }

Проблема в том, что когда я нажимаю кнопку сохранения, текущий элемент никогда не обновляется данными из входных данных.

Мне просто не хватает чего-то глупого?

Ответы [ 2 ]

2 голосов
/ 13 сентября 2009

При добавлении привязок попробуйте сделать это так ...

companyIdTextBox.DataBindings.Add("Text", companies, "Id", true, DataSourceUpdateMode.OnPropertyChanged);
companyNameTextBox.DataBindings.Add("Text", companies, "Name", true, DataSourceUpdateMode.OnPropertyChanged);

По умолчанию DataSourceUpdateMode имеет значение OnValidation ; возможно, событие OnValidation не срабатывает в вашем случае. Если это проблема, установка DataSourceUpdateMode в OnPropertyChanged должна помочь.

0 голосов
/ 13 сентября 2009

Я полагаю, ваше хранилище данных - это база данных? В обозревателе решений VS посмотрите свойства вашего файла базы данных и убедитесь, что для параметра «Копировать в выходной каталог» не установлено значение «Копировать всегда». Это будет перезаписывать вашу базу данных в рабочем каталоге каждый раз, когда вы создаете проект ...

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