#templates #gridview #dynamic #size #width
#шаблоны #просмотр сетки #динамический #размер #ширина
Вопрос:
У меня есть GridView, который отображает данные до 30 столбцов. Иногда это приводит к тому, что сетка расширяется до ширины, соответствующей горизонтальной полосе прокрутки, но не всегда. Длина данных в столбцах также варьируется, и я не хочу устанавливать конкретную ширину, приятно, что сетка маленькая, если половина столбцов пуста.
Проблема в том, что когда я вхожу в режим редактирования, метки заменяются текстовыми полями, и они занимают больше ширины, и вся таблица изменяет свои размеры.
Есть ли какой-либо способ сохранить шаблон элемента и его метки без фиксированного размера, но в то же время всегда следить за тем, чтобы шаблон редактирования имел одинаковый размер.
Я думал о чем-то подобном этому:
При «событии входа в режим редактирования» отредактируйте текстовое поле templatetextbox.Width = CurrentItemTemplate.Ширина;
Ответ №1:
Я смог предотвратить изменение размера моего GridView при переключении в режим редактирования (за исключением новых добавляемых столбцов «Обновить» и «Отменить»), используя этот CSS:
table input
{
width: 95%;
}
Вы можете использовать 100%, если хотите, но 95% дают небольшой интервал между ячейками.
Кроме того, если у вас есть другие таблицы на странице, на которые вы не хотите, чтобы это влияло, присвоите вашему GridView CssClass и замените ‘table’ именем вашего css-класса следующим образом:
<asp:GridView ... CssClass="myGridView">
.myGridView input
{
width: 95%;
}