【发布时间】:2021-01-21 20:23:28
【问题描述】:
在我的页面中,我有一个 GridView,它位于三列的中间(也是最大)(占据页面的一半(6/12))。但是,它显示为好像在其左侧和右侧添加了边距和/或填充。我希望它向外扩展以填满所有可用空间。
这是html:
<div class="col-6">
. . .
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnDataBound="GridView1_DataBound" OnPreRender="GridView1_PreRender">
<Columns>
<asp:BoundField DataField="MovieTitle" HeaderText="MovieTitle" SortExpression="MovieTitle" />
. . .
<asp:BoundField DataField="Minutes" HeaderText="Minutes" SortExpression="Minutes" />
</Columns>
</asp:GridView>
...这是它的外观:
(顺便说一句,数据是“假的”,不是用户选择“查找”按钮时实际返回的数据)
当然,您可以将宽度设置为绝对值,但我没有看到将其设置为相对值(例如 100% 的列宽)的方法。
我也尝试将其设置为列的宽度,但该属性并未公开让我这样做。 IOW,我通过给它一个 Id 并添加“runat server”使 div 成为一个代码隐藏元素:
<div ID="col6" runat="server" class="col-6">
...然后尝试在代码隐藏中执行此操作:
GridView1.Width = col6.Width;
...但是 col6 没有这样的公共属性。
【问题讨论】:
-
class="col-6"可能有一些填充。您可以覆盖它,但它会影响一切。您可能必须使用一些 CSS hack 来做到这一点,例如width: 102%(如果它确实有效,这可能会搞砸其他事情),或者可能是margin-left: -10px。只是一些想法。没有工作示例很难修复。此外,它看起来还不错。 -
您还可以在
col-6旁边设置类px-0 mx-0,这将覆盖 col-6 填充/边距。但在这种情况下,如果您愿意,您将需要在某些孩子上设置填充/边距
标签: html css asp.net twitter-bootstrap gridview