C# 中的 Gridview 多个 header 行
Gridview multiple header rows in c#
如何在 asp.net 的 gridview 中显示多行 header?
我需要使用header模板和物品模板,并根据我的要求进行设计
我试过下面的代码,但我不明白,因为列没有对齐。
输出为:
你能帮帮我吗?
在此先感谢您的帮助。
下面是我的代码
<asp:GridView ID="gvCustomers" runat="server"
AutoGenerateColumns="false" CssClass="mGrid"
HorizontalAlign="Center"
Width="100"
DataKeyNames="sID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgOrdersShow"
runat="server" OnClick="Show_Hide_OrdersGrid"
ImageUrl="/aspnet/img/plus.png"
CommandArgument="Show" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<th colspan="6">Category</th>
<tr class="gvHeader">
<th style="width: 0px"></th>
<th colspan="3">Hardware</th>
<th colspan="3">Software</th>
</tr>
<tr class="gvHeader">
<th></th>
<th>S. No.</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td>test4</td>
<td>test5</td>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
试试这个:
<asp:GridView ID="gvCustomers" runat="server"
AutoGenerateColumns="false"
CssClass="mGrid"
HorizontalAlign="Center"
DataKeyNames="sID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgOrdersShow"
runat="server"
OnClick="Show_Hide_OrdersGrid"
ImageUrl="/aspnet/img/plus.png"
CommandArgument="Show" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1"
runat="server"
Text="S. No."
ToolTip="S. No.">
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table>
<tr>
<th colspan="18">Category</th>
</tr>
<tr>
<th colspan="2">Hardware</th>
<th colspan="2">Software</th>
<th colspan="2">Hardware1</th>
<th colspan="2">Software1</th>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td>test4</td>
<td>test5</td>
<td>test6</td>
<td>test7</td>
<td>test8</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
如何在 asp.net 的 gridview 中显示多行 header?
我需要使用header模板和物品模板,并根据我的要求进行设计
我试过下面的代码,但我不明白,因为列没有对齐。
输出为:
你能帮帮我吗?
在此先感谢您的帮助。
下面是我的代码
<asp:GridView ID="gvCustomers" runat="server"
AutoGenerateColumns="false" CssClass="mGrid"
HorizontalAlign="Center"
Width="100"
DataKeyNames="sID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgOrdersShow"
runat="server" OnClick="Show_Hide_OrdersGrid"
ImageUrl="/aspnet/img/plus.png"
CommandArgument="Show" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<th colspan="6">Category</th>
<tr class="gvHeader">
<th style="width: 0px"></th>
<th colspan="3">Hardware</th>
<th colspan="3">Software</th>
</tr>
<tr class="gvHeader">
<th></th>
<th>S. No.</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td>test4</td>
<td>test5</td>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
试试这个:
<asp:GridView ID="gvCustomers" runat="server"
AutoGenerateColumns="false"
CssClass="mGrid"
HorizontalAlign="Center"
DataKeyNames="sID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="imgOrdersShow"
runat="server"
OnClick="Show_Hide_OrdersGrid"
ImageUrl="/aspnet/img/plus.png"
CommandArgument="Show" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1"
runat="server"
Text="S. No."
ToolTip="S. No.">
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<table>
<tr>
<th colspan="18">Category</th>
</tr>
<tr>
<th colspan="2">Hardware</th>
<th colspan="2">Software</th>
<th colspan="2">Hardware1</th>
<th colspan="2">Software1</th>
</tr>
<tr>
<td>test1</td>
<td>test2</td>
<td>test3</td>
<td>test4</td>
<td>test5</td>
<td>test6</td>
<td>test7</td>
<td>test8</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
<td>your value</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>