ASPxGridView не может редактировать строку с ReadOnly False - PullRequest
0 голосов
/ 16 сентября 2011

В настоящее время я работаю над сайтом aspx, где я использую элемент управления ASPxGridView.Я могу отображать данные в моем GridView так, как я хочу, чтобы они отображались.Однако моя проблема возникает, когда я нажимаю кнопку «Изменить» (предоставляется самим элементом управления в столбце команд).После нажатия на указанную кнопку GridView изменит строку на редактируемую.Однако я не могу изменить значения внутри текстовых полей.Обратите внимание, что я уже установил для свойства ReadOnly значение false как в смарт-теге GridView, так и в самом источнике xml.

Я пытался создать тестовый флаг, в котором задний цвет текстового поля будет меняться на синий всякий раз, когда свойство ReadOnlyустановлено в true.После запуска программы текстовое поле будет окрашено в синий цвет независимо от того, установлено ли для ReadOnly значение true или false.

Существуют ли какие-либо другие свойства, которые помогли бы мне сделать эти текстовые поля редактируемыми?Большое спасибо!

Ура!

Ответы [ 2 ]

5 голосов
/ 31 января 2012

Я только что столкнулся с этой же проблемой сегодня. Этот признак может появиться, если вы устанавливаете для своего источника данных анонимный тип:

void BindDataGrid()
{
    var gridData = from cm in MyCollection
                   select new 
                   {
                       UniqueId = cm.UniqueId,
                       Min = cm.SomeNumber ?? 0,
                       Max = cm.SomeOtherNumber ?? 0,
                       Description = cm.Description
                   };

    this.myGrid.DataSource = gridData;
    this.myGrid.DataBind();
}

Исправлено было создание класса для сетки. Затем он смог определить типы данных для каждой ячейки, и они стали редактируемыми в пользовательском интерфейсе:

public class MyGridViewModel
{
    public Guid UniqueId { get; set; }
    public int Min { get; set; }
    public int Max { get; set; }
    public string Description { get; set; }
}

void BindDataGrid()
{
    var gridData = from cm in MyCollection
                   select new MyGridViewModel()
                   {
                       UniqueId = cm.UniqueId,
                       Min = cm.SomeNumber ?? 0,
                       Max = cm.SomeOtherNumber ?? 0,
                       Description = cm.Description
                   };

    this.myGrid.DataSource = gridData;
    this.myGrid.DataBind();
}
0 голосов
/ 02 февраля 2015

Я сделал ошибку, пытаясь редактировать защищенное свойство.Если свойство имеет общедоступный метод получения и частный или защищенный метод установки, то оно будет отображаться как поле только для чтения в форме редактирования.Надеюсь, это кому-то поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...