У нас есть столбец, связанный с целочисленным значением sql, которое можно обнулять.Когда пользователь пытается «очистить» ячейку в DataGrid
, мы получаем ошибку проверки
«... не удалось преобразовать».
Как сделать его пустым и привязать «нулевое» значение к базовому столбцу?
Я уже 2 дня гуглял эту проблему и нашел что-нибудь.Я пытался отредактировать свой комментарий к вам HCL, но он никогда не сохранится.
Я знаком с IValueConverters
.Я написал один для обработки наших процентов (чтобы пользователь мог ввести «50%», и он преобразуется в «.5»).Я пытаюсь сделать что-то очень похожее, но когда значение возвращается как Null
(я написал фиктивный IValueConterter
для его отладки), я просто хочу, чтобы оно было сохранено в базе данных как Null
.Может мне просто нужно установить DBNullValue
?Это просто кажется большой работой для чего-то, что, я думаю, может иметь встроенную собственность.Я попытался использовать свойство TargetNullValue
в столбце (DataGridBoundColumn
) и установить его на DBNull.Value
, но оно не изменило значение (исходя из моего фиктивного IValueConverter
, оно все еще входит как обычное (строка) NULL
.
Я просто хочу иметь возможность сохранить нулевое значение в базе данных для этого (целочисленного типа) столбца.
** Последнее добавление **
Хорошая мысль HCL, я забываю, что весь мир иногда не ADO.
Я привязываюсь к таблице SQL. В столбце речь идет о int
, который допускает NULL
s.
Столбцы создаются с использованием AutoGeneratingColumn
, поэтому он в основном просто подключает их «автоматически» (определенные стили, такие как Right Justify, применяются в этом методе, но не для этого столбца). Этот подход используется, потому что приложениеэто в значительной степени замена «доступа». Наш ИТ-директор поручил нам удалить доступ от пользователей, так что это было решением (создать собственный MS Access). В любом случае, поскольку он может открыть любую таблицу (и создать таблицы, столбцы и т. д.)просто "Автогенерация" на основе столбцовна столе, который был открыт.Хотя, поскольку существуют определенные столбцы, о которых приложение по сути знает, например Discount_Pct, при обнаружении одного из этих столбцов оно выполняет некоторые «особые действия» (например, присваивает IValueConverter
, который я описал выше).Хотя, как я сказал ... для этой конкретной колонки, ничего особенного с ней не сделано.Это просто обычное целое число SQL (обнуляемое), которое автоматически генерируется.