2012-02-16 8 views
0

Я хочу сохранить нулевые значения в десятичном столбце (допускает nulls на db) на wpf datagrid (с автогенерирующими столбцами).Autogenerate columns null values ​​

Это не позволяет мне сохранять нули и отображать красную коробку с ошибками.

ответ

0

Просто добавьте этот код в AutogeneratingColumn события:

если (e.Column.ToString() == "System.Windows.Controls.DataGridTextColumn") { (((System.Windows. Controls.DataGridBoundColumn) (e.Column)). Binding) .TargetNullValue = string.Empty; }

1

Я подозреваю, что вы столкнулись с проблемой, которую я имел, но это было простое текстовое поле (а не datagrid). Вы думаете, что передаете нуль, но вы действительно передаете string.empty, который не является ни нулевым, ни десятичным. Я исправил его с помощью конвертера, чтобы преобразовать string.empty в null. H.B. (тот же H.B.), который отредактировал ваш вопрос, ответил мне.

Cannot Assign a Null Value to a Nullable Int32? via Binding

0

к какой тип базы данных, которую вы сшиваться DataGrid к? например, если вы привязываете его к datatable с ado.net, datatable не знает о базовой схеме sql, если вы не обновите ее самостоятельно. -> см. http://support.microsoft.com/kb/310128 с linq2sql он должен работать нормально без этого обновления, с другими, как MySql, я не знаю.