Как очистить ячейку (чтобы она получила значение NULL) в (WPF) DataGrid?

У нас есть столбец, привязанный к целочисленному значению sql, допускающему значение NULL. Когда пользователь пытается «очистить» ячейку в DataGrid , мы получаем ошибку проверки

«... не удалось преобразовать».

Как сделать его пустым и привязать "нуль" значение в нижележащий столбец?

Я гуглил эту проблему в течение 2 дней и ничего не нашел. Я попытался отредактировать свой комментарий к вам HCL, но он никогда не сохранялся.

Я знаком с IValueConverters . Я написал один для обработки наших процентов (чтобы пользователь мог ввести «50%», и он был преобразован в «.5»). Я пытаюсь сделать что-то очень похожее, но когда значение возвращается как Null (я написал фиктивный IValueConterter для его отладки), я просто хочу, чтобы оно было сохранено в база данных как Null . Может мне просто нужно установить его на DBNullValue ? Просто кажется, что нужно много работать над чем-то, что, как я думаю, может иметь встроенную собственность. (в этом методе применяются определенные стили, такие как Right Justify, но не для этого столбца). Он использует этот подход, потому что приложение в значительной степени является заменой Access. Наш ИТ-директор поручил нам удалить доступ для пользователей, поэтому это было решение (создать собственный MS Access). В любом случае, поскольку он может открывать любую таблицу (и создавать таблицы, столбцы и т.д.), он просто «автоматически генерирует» столбцы на основе таблицы, которая была открыта. Хотя, поскольку существуют определенные столбцы, о которых приложение изначально знает, например Discount_Pct, когда оно встречает один из этих столбцов, оно действительно выполняет некоторые «особые действия» (например, присваивает IValueConverter , описанный выше). Хотя, как я уже сказал ... для этой конкретной колонки нет ничего "особенного". Это просто обычное целое число SQL (допускающее значение NULL), которое создается автоматически.

5
задан Athafoud 5 August 2016 в 07:26
поделиться