#asp.net #boundfield
#asp.net #boundfield
Вопрос:
У меня есть кластер «статус» из трех столбцов. Я хочу, чтобы строка заголовка охватывала все три. Я знаю, что могу использовать параметр colspan=»3″ с тегом th в HTML. Как мне выполнить это с помощью BoundField?
Пример фрагмента кода в том виде, в каком он существует сейчас…
<asp:BoundField DataField="Priority" HeaderText="Priority" />
<asp:TemplateField ItemStyle-Width="50">
<ItemTemplate>
<asp:ImageButton ID="btnMinus" CommandName="minus" runat="server" ImageUrl="~/Images/arrowUp_ico.gif" BorderWidth="1" BorderStyle="Ridge" />
<asp:ImageButton ID="btnPlus" CommandName="plus" runat="server" ImageUrl="~/Images/arrowDown_ico.gif" BorderWidth="1" BorderStyle="Ridge" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ProjectName" HeaderText="Project" />
<asp:BoundField DataField="Group" HeaderText="Group" />
<asp:BoundField DataField="Assigned" HeaderText="Assigned" />
…и т.д.
Мне нужен текст заголовка ‘Priority’, чтобы охватить сам и следующие два столбца.
Ответ №1:
Как обычно для меня, когда требуется много времени, чтобы получить ответ, я выясняю это сам. Решение состоит в том, чтобы перейти к коду в разделе init (или эквивалентному, в зависимости от вашего проекта) и добавить две строки…
myDataGrid.HeaderRow.Cells[n].ColumnSpan = 2;
MyDataGrid.HeaderRow.Cells[n 1].Visible = false;
Это расширяет первую ячейку заголовка (n) до ширины двух столбцов и удаляет соседнюю. Если вы оставите вторую строку, заголовок для этого столбца просто сдвинется вправо.