Как взять под контроль размер Gridview, когда его в режиме редактирования, а его нет? - PullRequest
5 голосов
/ 30 декабря 2011

У меня будет свой пользовательский элемент управления Gridview. В серой рамке (тег div) независимо от того, находится ли Gridview в режиме редактирования или нет, я использовал ширину и стили Gridview, но это не сработало.Как мне это сделать?

.GridViewStyle
{
 /*It didn't work*/
 width:50%;
}

Gridview в режиме редактирования Gridview Which is in edit mode

Gridview приего нет в режиме редактирования Gridview Which is not in edit mode

Ответы [ 5 ]

15 голосов
/ 30 декабря 2011

Проблема, безусловно, заключается в размере текстовых полей <input /> в режиме редактирования

Добавьте элемент <EditRowStyle> в сетку, чтобы дать строке редактирования класс CSS

<asp:GridView ID="GridView1" runat="server">
    ...
    <EditRowStyle CssClass="GridViewEditRow" /> <%-- add this --%>
</asp:GridView>

Теперь вы можете контролировать размер текстовых полей с помощью CSS

.GridViewEditRow input[type=text] {width:50px;} /* size textboxes */
.GridViewEditRow select {width:50px;} /* size drop down lists */
1 голос
/ 11 декабря 2014
<asp:BoundField HeaderText="Title" ControlStyle-Width="100px" DataField="Title" />

используйте атрибут ControlStyle-Width и назначьте ширину столбцу

1 голос
/ 14 ноября 2013

Чтобы управлять сеткой, когда она находится в режиме редактирования, добавьте полосу прокрутки в коде xaml div. Когда будет вызван режим редактирования, он перейдет в полосу прокрутки. Определите div, поместите сетку в это. Вот код, как это сделать.

<div style="width:100px; height:100px; overflow:scroll;">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
1 голос
/ 30 декабря 2011

Кажется, что некоторые элементы управления, которые видны в режиме редактирования (в основном ввод текстовых полей), имеют определенную ширину, что делает всю сетку слишком широкой.Ваш браузер сделает все возможное, чтобы установить ширину таблицы (что и делает gridview), но если содержимое слишком широкое, ему придется сделать его шире, чем вы хотели.

Проверка элементов текстового поля с помощью Firebug (если вы используете Firefox), средств разработчика (Internet Explorer), ... Проверьте, не установлена ​​ли для них ширина.

0 голосов
/ 18 августа 2017

работают следующие работы:

<asp:TemplateField HeaderText="Salary" ControlStyle-CssClass="cssWidth"></asp:TemplateField>

<style type="text/css"> 
    .cssWidth {
        width : 150px;
    }     
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...