当它处于编辑模式而不是它时,如何控制Gridview的大小?

Posted

技术标签:

【中文标题】当它处于编辑模式而不是它时,如何控制Gridview的大小?【英文标题】:How to taking control of size of Gridview when its on edit mode and its not? 【发布时间】:2012-01-30 14:23:58 【问题描述】:

无论 Gridview 是否处于编辑模式,我都会将 Gridview 用户控件置于灰色框架(其 div 标签)中,我确实使用了 Gridview 的宽度和样式,但它不起作用。 我该怎么做?

.GridViewStyle

 /*It didn't work*/
 width:50%;

处于编辑模式时的 Gridview

不处于编辑模式时的网格视图

【问题讨论】:

【参考方案1】:

似乎某些在编辑模式下可见的控件(主要是文本框输入)具有一定的宽度,使整个网格过宽。您的浏览器将尽其所能设置表格的宽度(这是 gridview 呈现的内容),但如果内容太宽,则必须使其比您想要的宽。

使用 Firebug(如果您使用 Firefox)、开发者工具(Internet Explorer)检查文本框元素,...查看它们是否设置了宽度。

【讨论】:

【参考方案2】:

问题肯定是在编辑模式下<input /> 文本框的大小

<EditRowStyle> 元素添加到您的gridview 中,为编辑行提供一个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 */

【讨论】:

【参考方案3】:

要在编辑模式下管理网格,请在div的xaml代码中添加滚动条。当调用编辑模式时,它将调整到滚动条中。 定义一个 div,将网格放入其中。 下面是如何做到这一点的代码。

<div style="width:100px; height:100px; overflow:scroll;">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>

【讨论】:

【参考方案4】:
<asp:BoundField HeaderText="Title" ControlStyle-Width="100px" DataField="Title" />

使用 ControlStyle-Width 属性并将宽度分配给列

【讨论】:

【参考方案5】:

以下作品:

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

<style type="text/css"> 
    .cssWidth 
        width : 150px;
         
</style>

【讨论】:

以上是关于当它处于编辑模式而不是它时,如何控制Gridview的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 WPF DataGrid 是不是处于编辑模式? [复制]

如何判断用户是不是处于IOS UIAccessibility的开关控制模式

如何检查系统是不是处于待机模式?

检查材料表行是不是仍处于编辑模式

如何判断浏览器是不是处于“怪癖”模式?

linux Vi 编辑器 如何复制整行n内容,这样才能粘贴到文本中