Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > DataGridView+BindingSource.Filter проблема


Автор: xyxyxyxyxyxyx 15.5.2008, 13:31
Проблема в следующем:
Использую базу данных Access. 
Есть 2 таблицы: Users и Payments (master и detail соотв.).
Между ними Relation - UsersToPayments.
В таблице Payments в том числе есть поля payment_date (тип OleDbType.DBDate) и price (OleDbType.Currency)

Users прибинден к комбобоксу, Payments к DataGridView:


Код

this.bindingSourceUsers.DataMember = "users";
this.bindingSourceUsers.DataSource = dataSet;

this.bindingSourcePayments.DataMember = "UsersToPayments";
this.bindingSourcePayments.DataSource = this.bindingSourceUsers;            
            
comboBoxUsers.DataSource = bindingSourceUsers;
comboBoxUsers.DisplayMember = "user_name";
dataGridViewPayments.DataSource = bindingSourcePayments;


Все прекрасно работает, до тех пор, пока я не накладываю фильтр:

this.bindingSourcePayments.Filter = "payment_date >= '" + dateTimePicker1.Value.ToString("dd.MM.yyyy") + "'";

Перестает корректно работать добавление новой записи через DataGridView. 

Если я заполняю price и не изменяю значение даты по умолчанию (DateTime.Now), вставленный ряд исчезает, хотя когда фильтр не наложен - все работает... После сохранения изменений в базу и перезапуска приложения вставленные ряды появляются!
Если значение payment_date изменить програмно или вручную, то вставка проходит нормально...
Помогите разобратся... хотя бы в каком направлении копать...

Автор: xyxyxyxyxyxyx 16.5.2008, 10:21
Извиняюсь, вопрос снят. Ряд не "исчезал", а зарезался фильтром...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)