Хобрук: Ваш путь к мастерству в программировании

Какое событие я использую для изменения элементов управления, когда строка сетки находится в режиме редактирования?

У меня есть gridview с шаблонами редактирования и элементов. То, что я хотел бы сделать, основано на значении одного из столбцов, когда строка находится в режиме редактирования, создайте два текстовых поля либо только для чтения, либо для чтения.

Шаблон Item состоит из двух кнопок изображения, редактирования/удаления трех меток (Primary, Secondary и IsSecondary). Шаблон редактирования имеет две кнопки изображения «Отмена/Сохранить», два текстовых поля (основной и дополнительный) и раскрывающийся список для выбора основного или дополнительного)

Что я хочу сделать, так это установить два текстовых поля только для чтения, если при входе в режим редактирования значение раскрывающегося списка является вторичным. В основном, когда значение является вторичным, пользователь может переключиться только на первичное, но не может редактировать значения в текстовых полях. Если значение является основным, они могут редактировать эти значения.

Я попытался добавить следующее в событие RowDataBound.

If e.Row.RowState = DataControlRowState.Edit Then
    If ddl_IsSecondary.SelectedValue = 1
        tb_Primary.ReadOnly = True
        tb_Secondary.Readonly = True
    Else
        tb_Primary.ReadOnly = False
        tb_Secondary.Readonly = False
    End If
End If

К сожалению, текстовые поля доступны для чтения независимо от значения раскрывающегося списка.

Любые идеи о том, что еще я могу попробовать?

15.05.2014

Ответы:


1

IMO вам нужно использовать событие DataGridView.CellBeginEdit. MSDN заявляет:

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

Private Sub DataGridView1_CellBeginEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
    ' Check your ddl_IsSecondary here and act accordingly.
End Sub

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

15.05.2014

2

Спасибо, Пасти ... Я не пробовал ваш ответ, но посмотрю ... Я действительно нашел свой ответ ... Мое тестирование оказалось на четной строке, которая является альтернативной строкой. Итак, моя линия

If e.Row.RowState = DataControlRowState.Edit Then...

Не срабатывал... изменение кода на

If e.Row.RowState = DataControlRowState.Edit OR e.Row.RowState = DataControlRowState.Alternate + DataControlRowState.Edit Then...

работает отлично...

15.05.2014
Новые материалы

Введение в контекст React
В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

Это оно
Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

Базовое руководство по переносу концепций обучения в глубокое обучение
Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

C в C.R.U.D с использованием React-Redux
Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

5 обязательных элементов современного инструмента конвейера данных
В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..