Могу ли я изменить colspan заголовка столбца BoundField

#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) до ширины двух столбцов и удаляет соседнюю. Если вы оставите вторую строку, заголовок для этого столбца просто сдвинется вправо.