当它处于编辑模式而不是它时,如何控制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 是不是处于编辑模式? [复制]