Могу ли я изменить colspan HeaderText столбца BoundField - PullRequest
3 голосов
/ 13 октября 2011

У меня есть кластер «статуса» из трех столбцов. Я хочу, чтобы заголовок строки охватывал все три. Я знаю, что могу использовать параметр 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" />

... и т.д.

Мне нужен текст заголовка «Приоритет», чтобы охватить сам и следующие два столбца.

1 Ответ

3 голосов
/ 13 октября 2011

Как обычно для меня, когда требуется много времени, чтобы получить ответ, я сам в этом разбираюсь.Решение состоит в том, чтобы перейти к коду в разделе init (или эквивалентному, в зависимости от вашего проекта) и добавить две строки ...

myDataGrid.HeaderRow.Cells[n].ColumnSpan = 2;
MyDataGrid.HeaderRow.Cells[n+1].Visible = false;

Это расширяет первую ячейку заголовка (n) додве колонки шириной и удаляет соседнюю.Если вы пропустите вторую строку, заголовок этого столбца будет сдвинут вправо.

...