如何解决如何使GridView占用其列中所有可用的宽度?
在我的页面中,我有一个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,我通过给div一个ID并添加“运行服务器”来使div成为可代码隐藏的元素:
<div ID="col6" runat="server" class="col-6">
...然后在后面的代码中尝试执行此操作:
GridView1.Width = col6.Width;
...但是col6没有这样的公共财产。
解决方法
这是因为默认情况下,引导程序对其所有列应用填充。如下面的代码所示:
.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto {
position: relative;
width: 100%;
padding-right: 15px;
padding-left: 15px;
}
这里的填充是为了补偿行中的引导程序设置的边距,如下面的代码所示:
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px;
}
因此,如果您不希望这种情况发生,我建议您在有一行的情况下始终应用mx-0
,在有px-0
的情况下始终应用col
此类类似于:
mx-0{
margin-left: 0 !important;
margin-right: 0 !important;
}
px-0{
padding-left: 0 !important;
padding-right: 0 !important;
}
因此只需应用row mx-0
和col-6 px-0
,然后您可能需要调整col-6中的某些div来获得一些空间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。