我可以更改BoundField列的HeaderText的colspan

时间:2011-10-12 22:56:25

标签: asp.net boundfield

我有一个包含三列的“状态”群集。我希望标题行跨越所有三个。我知道我可以在HTML中使用colspan =“3”参数和th标签。如何使用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 个答案:

答案 0 :(得分:3)

正如我常见的那样,当需要很长时间才能得到答案时,我会自己弄明白。解决方案是转到init部分后面的代码(或等效的,取决于你的项目)并添加两行......

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

这将第一个标题单元格(n)扩展为两列宽并删除相邻的标题单元格。如果省略第二行,该列的标题将被推到右侧。