2013-08-16 5 views
0

Мне кажется, мне нужно установить значение ConvertEmptyStringToNull в false, чтобы избавиться от мертвого мозга UpdateModel поведение, которое преобразует поле, уже установленное в пустую строку, в нулевое значение, из-за чего мои обновления базы данных терпят неудачу, но я не могу найти это свойство в любом месте DevExpress MVC Gridview. Кто-нибудь знает, как его найти?Как настроить ConvertEmptyStringToNull в элементе управления DevExpress MVC GridView?

Я уже пытался переопределить следующие в Application_Start

ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder(); 

и установка

bindingContext.ModelMetadata.ConvertEmptyStringToNull = false; 

там, но это не сработало.

Спасибо за любые идеи!

ответ

0

Ниже показано, что в моих целях, поскольку я, по крайней мере, не должен индивидуально устанавливать каждое такое свойство, но сильно чувствую, что пользовательские данные НЕ должны быть изменены по умолчанию. Я сделал предложение пользователям DevExpress о том, что должны быть более простые способы переопределить это поведение на полевых, сетевых и глобальных уровнях. Вот мое временное решение:

settings.DataBound = (sender, e) => 
    { 
     // turn off brain dead conversion of user data empty strings to null 
     var lGrid = sender as MVCxGridView; 
     foreach (var lCol in lGrid.Columns) 
     { 
      if (lCol is GridViewDataColumn) 
      { 
       GridViewDataColumn lDataCol = lCol as GridViewDataColumn; 
       TextBoxProperties tb = lDataCol.PropertiesEdit as TextBoxProperties; 
       if (tb != null) 
        tb.ConvertEmptyStringToNull = false; 
      } 
     } 
    }; 
Смежные вопросы