Чтобы избавиться от лишнего столбца, просто установите его стиль CSS на display: none
. Вы можете сделать это, применив CssClass к TemplateField
, содержащему вложенную сетку:
<asp:TemplateField HeaderStyle-CssClass="hidden-column" ItemStyle-CssClass="hidden-column" FooterStyle-CssClass="hidden-column">
Вот определение используемого CssClass:
<style type="text/css">
.hidden-column {
display: none;
}
</style>
Примечание: разметка все еще будет в HTML, но, по крайней мере, она не будет видна.
Протестировано под IE 8.0, Google Chrome 2.0 и Opera 10.0
Обновление: чтобы устранить двойную границу, просто поместите идентификатор и стиль на <tr>
вместо <div>
:
<tr id="<%# Eval("PublicationID") %>" style="display: none; position: relative">
<td colspan="7">
<div>
...
... и измените отображение в javascript с block
на table-row
:
div.style.display = "table-row"; // not a div anymore!!