DevExpress GridView MVC - набор данных не срабатывает - PullRequest
0 голосов
/ 27 августа 2018

В настоящее время я тестирую возможности компонента DevExpress GridView.Я создал пользовательское сопоставление данных, но кажется, что событие e.IsSetData не вызывается после изменения строки / ячейки.

Возвращаемый объект всегда похож на

DataRowModel {ID = "SomeValue", Properties = NULL};

Буду очень признателен за вашу помощь.

Пожалуйста, найдите логику сетки и объект модели ниже.

Заранее спасибо.Константин

settings.CustomUnboundColumnData += (s, e) =>
        {
            var dynamicProperties = Model.DataRowModels[e.ListSourceRowIndex].Properties;

            if (dynamicProperties != null)
            {
                var propertyIdString = e.Column.FieldName;
                var currentValueColumn = dynamicProperties.SingleOrDefault(p => p.PropertyId.ToString().Equals(propertyIdString));

                if (currentValueColumn != null)
                {

                    if (e.IsGetData)
                    {
                        if (currentValueColumn == null)
                        {
                            return; 
                        }

                        switch (currentValueColumn.RenderType)
                        {
                            case RenderType.String:
                                e.Value = currentValueColumn.StringValue;
                                break;
                            case RenderType.Integer:
                                e.Value = currentValueColumn.IntValue;
                                break;
                            case RenderType.Boolean:
                                e.Value = currentValueColumn.BooleanValue;
                                break;
                            case RenderType.DateTime:
                                e.Value = currentValueColumn.DateTimeValue;
                                break;
                            default:
                                e.Value = currentValueColumn.StringValue;
                                break;
                        }
                    }

                    if (e.IsSetData && e.Value != null)
                    {
                        currentValueColumn.StringValue = e.Value.ToString();
                    }
                }
            }
        };


  public class DataRowModel
{
    public int Id{ get; set; }                     -----> The correct value
    public List<DataProperty> Properties { get; set; }  ------> This is always null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...