我有一个DetailsView 控件,其中包括构成地址的几行。理想情况下,我想将地址行与以下两行“合并” - 基本上删除它们之间的边界。
我猜我可以使用 asp:TemplateField 创建一个近似的解决方案(使用单行,但我们在 seconf(数据)单元格中换行),但我宁愿看看是否有任何其他方法与我之前的样式相同的行(使用 CssClass)。此外,这与其他任何事情一样都是一种学习练习。
我尝试给 Address2 BoundField 一个类并通过 CSS 删除底部和顶部边框,但它似乎不起作用。查看 HTML,它将类分配给单个单元格,而我认为我需要将此类应用于整行。我无法解决整行问题;我可以处理所有行,无论是列还是一个单元格。
有什么建议么?
代码片段:
HTML:
<h2 class="title">Event Details</h2>
<div class="entry">
<form id="frmEvents" runat="server">
<asp:DetailsView ID="vwEventDetails" runat="server" CssClass="vwEventDetails" FieldHeaderStyle-CssClass="FieldCol" >
<Fields>
<asp:BoundField HeaderText="Event" DataField="EventName" ReadOnly="true" SortExpression="EventName" />
<asp:BoundField HeaderText="Date & Time" DataField="EventDate" ReadOnly="true" SortExpression="EventDate" />
<asp:BoundField HeaderText="Address" DataField="Address1" ReadOnly="true" SortExpression="Address1" />
<asp:BoundField HeaderText="" DataField="Address2" ReadOnly="true" SortExpression="Address2" ItemStyle-CssClass="noBorders" />
<asp:BoundField HeaderText="" DataField="Address3" ReadOnly="true" SortExpression="Address3" />
<asp:BoundField HeaderText="Town" DataField="Town" ReadOnly="true" SortExpression="Town" />
<asp:BoundField HeaderText="County" DataField="County" ReadOnly="true" SortExpression="County" />
<asp:BoundField HeaderText="Postcode" DataField="Postcode" ReadOnly="true" SortExpression="Postcode" />
<asp:BoundField HeaderText="Entry Fee" DataField="EventFee" ReadOnly="true" SortExpression="EntryFee" />
<asp:BoundField HeaderText="Sponsor" DataField="SponsorName" ReadOnly="true" SortExpression="Sponsor" />
<asp:BoundField HeaderText="Category" DataField="CategoryName" ReadOnly="true" SortExpression="Category" />
<asp:HyperLinkField HeaderText="" DataTextField="" Text="Make A Booking" DataNavigateUrlFields="EventID" DataNavigateUrlFormatString="bookevent.aspx?eventid={0}" />
</Fields>
</asp:DetailsView>
</form>
</div>
CSS:
.vwEventDetails .FieldCol
{
font-weight: bold;
background-color: #99CCFF;
width: 100px;
}
.vwEventDetails tr td
{
padding: 0 2em;
}
.noBorders
{
border-bottom-style:none;
border-top-style:none;
}