2015-02-19 3 views
0


Я использую ASP.NET MVC с DevExpress, я вставил gridview в представление (сгенерированное автоматически с его частичным и прочее), и я хочу добавить в него несвязанный столбец.
Ошибка GridView Unbound Column

@{ 
    var grid = Html.DevExpress().GridView(settings => 
    { 
     //configuration code and other columns 
     settings.Columns.Add(c => 
     { 
      c.FieldName = "ClientFinal"; 
      c.Caption = "Client Final"; 
      c.UnboundType = DevExpress.Data.UnboundColumnType.String; 
      c.UnboundExpression = "[Prenom] + ' ' + [Nom]"; 
     }); 
//configuration code 
    }); 
} 
@grid.Bind(Model).GetHtml() 

ClientFinal лицо:

public class ClientFinal : XPObject 
    { 
     public ClientFinal(Session session) : base(session) { } 
     public override void AfterConstruction() { base.AfterConstruction(); } 

     private string nom; 
     public string Nom 
     { 
      get { return nom; } 
      set { SetPropertyValue<string>("Nom", ref nom, value); } 
     } 

     private string prenom; 
     public string Prenom 
     { 
      get { return prenom; } 
      set { SetPropertyValue<string>("Prenom", ref prenom, value); } 
     } 
//other attributes 
    } 

Результат:
enter image description here

Я даже пробовал: c.UnboundExpression = "[ClientFinal.Prenom] + ' ' + [ClientFinal.Nom]";, но это не сработало.

Пожалуйста, помогите.

+1

Код, который вы продемонстрировали, является абсолютно правильным. Установка свойства FieldName столбца сетки представляется ненужной, но она не должна вызывать ошибки. Следовательно, я считаю, что ошибка в коде, который вы не показывали. – Uranus

+0

Этот код был показан (если я удалю его, это не будет какой-либо столбец с #Err), если есть какой-либо другой код, участвующий в операции, скажите мне, что я опубликую его. Спасибо – Fourat

+1

Я понятия не имею, какой код может быть преступником. Ошибка может быть в вашем собственном коде, а также в библиотеках DevExpress. Все, что я могу сказать наверняка, это то, что ваш код в порядке в соответствии с официальной документацией. Если бы я был вами, я бы проверял, возникает ли какое-либо исключение CLR при открытии проблемной страницы. Сообщение об исключении может содержать информацию, полезную для понимания ее причины. – Uranus

ответ

0


Наконец-то я решил, что проблема заключается в том, что функция Unbound Column не была хорошо объяснена в документации devexpress.
Первое:

c.FieldName = "ClientFinalUnbound"; 

Свойство FieldName должен быть уникальным, и это просто имя для столбца не является отображением для существующего поля в сущности в вопросе (один показал в сетке).

Второе:

c.UnboundExpression = "[ClientFinal.Prenom] + ' ' + [ClientFinal.Nom]"; 

В несвязанном выражении поле должно быть уже существующими (перечислено в качестве свойств в элементах определения объекта или дочерних свойства в определении объекта), так что здесь я звоню свойство Prenom (или Nom) свойства ClientFinal в объекте RendezVous (показанное в сетке).

Thanks

Смежные вопросы