2015-01-18 2 views
0

У меня есть DevExpress ASPxGridView, который связывает данные из кода и столбцов, будет динамически добавляться. Я хочу установить редактируемые столбцы. (Пользователь должен иметь возможность вводить ячейки сетки) Есть ли способ сделать это? (Что-то вроде моего кода)Установить столбцы Devexpress ASPXGridView Редактируемые после данных привязки (VB.Net)

For i As Integer = 0 To dgstkReceivd.Columns.Count - 1 
     dgstkReceivd.Columns(i).EDITABLE = True 
    Next 
+0

Я вижу, что в одном комментарии вы пишете, что используете сетку DevExpress в веб-формах. XtraGrid для WinForms. В Интернете DevExpress имеет ASPxGridView. Вы используете его? Или вы используете WinForms XtraGrid в сети как-то? –

+0

Да гоша. , Я сделал ошибку. , Я хочу сделать это для devexpress aspxGridView – Tom

ответ

0

Вы можете управлять, может ли пользователь редактировать конкретный столбец или не может с помощью опции OptionsColumn.AllowEdit. Этот параметр действует, если для свойства View ColumnView.Editable установлено значение true.

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

Похожие справочными статьи:
Assigning Editors to Individual Cells
WinForms Grid: Prevent Editing in Specific Cells.

+0

У меня нет столбцов во время разработки. Поэтому я не могу установить это свойство. Колонки привязываются во время выполнения. И это сетка веб-форм. – Tom

+0

Эти параметры существуют для столбцов и представления, несмотря на время разработки или время выполнения: 'dgstkReceivd.Columns (i) .OptionsColumn.AllowEdit = True' – DmitryG

1

В отличие от WinForms сетки, пользователь должен вручную переключить WebForms сетки в режим редактирования. DevExpress ASPxGridView обеспечивает несколько режимов редактирования:

  • Edit Form
  • Popup Редактировать форму редактирования
  • Инлайн
  • Пакетное редактирование

Смотрите тему Data Editing справки DevExpress.

Для ваших требований, я думаю, встроенные и пакетные режимы редактирования будут их содержать.

В режиме пакетного редактирования пользователю не нужно нажимать кнопку «Изменить».

Используйте свойство ASPxGridView.SettingsEditing.Mode, чтобы включить необходимый режим редактирования для сетки. Для режимов редактирования, кроме партии, вам также необходимо отобразить кнопку «Изменить». Для этого используйте свойства Command Column.

Вот демо: Grid Edit Modes

Обновлено

Чтобы предотвратить определенный столбец из редактируется, вы можете использовать GridViewDataColumn.ReadOnly свойство. Вы также можете установить для параметра e.cancel обработчика события ASPxClientGridView.BatchEditStartEditing значение true, чтобы отключить редактирование в зависимости от вашего состояния на клиенте.

+0

Режим пакетного редактирования отлично работал для меня. Но теперь все столбцы редактируемые. Я хочу редактировать только конкретный столбец. – Tom

+0

@ Тому, я обновил свой ответ. Проверь это. –

+0

Thnx гоша. ,Еще одна проблема. , После изменения значений в сетке я нажимаю кнопку «Сохранить изменения». Когда я нажимаю, все данные сетки будут исчезать. Есть идеи? – Tom

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