【发布时间】:2012-01-30 14:23:58
【问题描述】:
无论 Gridview 是否处于编辑模式,我都会将 Gridview 用户控件置于灰色框架(其 div 标签)中,我确实使用了 Gridview 的宽度和样式,但它不起作用。 我该怎么做?
.GridViewStyle
{
/*It didn't work*/
width:50%;
}
处于编辑模式时的 Gridview
不处于编辑模式时的网格视图
【问题讨论】:
无论 Gridview 是否处于编辑模式,我都会将 Gridview 用户控件置于灰色框架(其 div 标签)中,我确实使用了 Gridview 的宽度和样式,但它不起作用。 我该怎么做?
.GridViewStyle
{
/*It didn't work*/
width:50%;
}
处于编辑模式时的 Gridview
不处于编辑模式时的网格视图
【问题讨论】:
似乎某些在编辑模式下可见的控件(主要是文本框输入)具有一定的宽度,使整个网格过宽。您的浏览器将尽其所能设置表格的宽度(这是 gridview 呈现的内容),但如果内容太宽,则必须使其比您想要的宽。
使用 Firebug(如果您使用 Firefox)、开发者工具(Internet Explorer)检查文本框元素,...查看它们是否设置了宽度。
【讨论】:
问题肯定是在编辑模式下<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 */
【讨论】:
要在编辑模式下管理网格,请在div的xaml代码中添加滚动条。当调用编辑模式时,它将调整到滚动条中。 定义一个 div,将网格放入其中。 下面是如何做到这一点的代码。
<div style="width:100px; height:100px; overflow:scroll;">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
【讨论】:
<asp:BoundField HeaderText="Title" ControlStyle-Width="100px" DataField="Title" />
使用 ControlStyle-Width 属性并将宽度分配给列
【讨论】:
以下作品:
<asp:TemplateField HeaderText="Salary" ControlStyle-CssClass="cssWidth"></asp:TemplateField>
<style type="text/css">
.cssWidth {
width : 150px;
}
</style>
【讨论】: