Скрыть данные в asp.net GridView, кроме случаев редактирования
Я использую asp:GridView для отображения таблицы данных на странице asp.net, .aspx. У меня есть столбец, который содержит конфиденциальную информацию. Я хотел бы отобразить столбец с данными, выделенными серым цветом, или любым другим способом, чтобы скрыть их, чтобы при загрузке страницы / сетки не было просто огромного видимого списка этого столбца данных.
Однако при нажатии кнопки редактирования в определенной строке я бы хотел, чтобы конфиденциальные данные в столбце были видны и редактировались.
Есть идеи, как этого добиться?
3 ответа
Преобразовать столбец в шаблон.
Затем вы можете редактировать шаблоны GridView. Существуют разные шаблоны для просмотра и редактирования.
- Если вы не хотите показывать данные, зачем показывать их в режиме редактирования? Люди тоже могут смотреть в режиме редактирования?
- Вы можете открыть модальное диалоговое / всплывающее окно, если хотите скрыть детализацию ваших данных в gridview.
- Сейчас вы можете использовать DataKeys gridview и определить этот столбец как dataKey gridview.
Вы также можете установить для свойства на своей странице значение true или false при нажатии кнопки редактирования и переключить видимость управления следующим образом (это будет работать автоматически во время события привязки данных)
private bool isEdit; protected bool IsEditMode { get {return isEdit;} set {isEdit=value; }
Затем в вашем aspx вы будете переключать нужные элементы управления видимостью просто
Visible='<%# IsEditMode %>'
Возможно, вы захотите использовать событие rowdatabound таблицы grid для выполнения своей работы. Найдите конкретный элемент управления (возможно, текстовое поле) в текущей строке, а затем просто установите disabled = true. Или вы также можете установить visible = false, чтобы скрыть этот конкретный элемент управления из этой строки. Если я вас правильно понимаю, тогда это должно сделать вашу работу.