Удаление [выбранных] границ в элементе управления DetailsView - PullRequest
2 голосов
/ 17 января 2009

У меня есть Элемент управления DetailsView , который включает в себя несколько строк, образующих адрес. В идеале я хотел бы «объединить» строку «Адрес» со следующими двумя строками, по существу удалив границы между ними.

Я предполагаю, что я мог бы использовать asp: TemplateField для создания приблизительного решения (использовать одну строку, но используя разрывы строк в ячейке secondf (data)), но я бы предпочел посмотреть, есть ли другие означает в том же духе мой предыдущий стиль (с использованием 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 &amp; 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;
}

1 Ответ

0 голосов
/ 18 января 2009

Я бы использовал 2 стиля:

.noTopBorders { border-top: none; }
.noBottomBorders { border-bottom: none; }

Я бы назначил noTopBorders для HeaderStyle-CssClass и ItemStyle-CssClass свойств BoundFields "Address2" и "Address3".

Я бы присвоил noBottomBorders свойствам HeaderStyle-CssClass и ItemStyle-CssClass связанных полей "Address1" и "Address2".

...