我有 DataTable
这样的:
我需要将“标题 1-2-3”列合并为一个,如下所示:
可惜GridView.TableCell
不能在这里应用。如何使用 C# ASP.NET 组合列?
我有 DataTable
这样的:
我需要将“标题 1-2-3”列合并为一个,如下所示:
可惜GridView.TableCell
不能在这里应用。如何使用 C# ASP.NET 组合列?
你可以使用这样的东西
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="address" HeaderText="address" visible="false"/>
<asp:BoundField DataField="city" HeaderText="city" visible="false"/>
<asp:BoundField DataField="region" HeaderText="region" visible="false"/>
<asp:BoundField DataField="postalcode" HeaderText="postalcode" visible="false"/>
<asp:TemplateField HeaderText="Full Address">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text="Label">
<%# Eval("address") + ", " + Eval("city") + ", " + Eval("region") + ", " + Eval("postalcode")%>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
那么您需要做的就是返回所需的“绑定”数据,然后让模板完成其余的工作:
private void LoadEmployeeAddress()
{
string con = ConfigurationManager.AppSettings["NorthwindDatabase"];
string sql = "select address, city, region, postalcode from employees;";
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sql, con);
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}
您可以使用 asp.net 中继器而不是 gridview。
中继器 DataSource 将是您的表格来源,不要忘记 DataDind() 中继器。
然后在中继器的 itemdatabound (rpeaterId.ItemDataBound += {by press += visual studio 将建议通过按两次 Tab 按钮为您创建方法:) }) 功能中,您可以为标题设置 if 语句
如果您需要更多帮助,则需要编写更多代码。
我希望这会给您带来启发并帮助您解决问题。干杯!