如何在DataTable ASP.NET中组合列

时间:2013-10-25 13:49:10

标签: c# asp.net export-to-excel

我有DataTable这样:

enter image description here

我需要将“标题1-2-3”列合并为一个,如下所示:

enter image description here

不幸的是GridView.TableCell无法在此处应用。 如何使用C#ASP.NET组合列?

2 个答案:

答案 0 :(得分:0)

您可以使用asp.net转发器而不是gridview。

转发器DataSource将成为您的表源,不要忘记DataDind()转发器。

然后在itemdatabound(rpeaterId.ItemDataBound + = {通过按+ = visual studio将建议通过按两次Tab键为你创建方法:)})转发器的功能你可以设置一个if语句为标题

如果您需要更多帮助,则需要编写更多代码。

我希望这能给你一个绝对的帮助你解决问题。 干杯!

答案 1 :(得分:0)

你可以使用这样的东西

   <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();
    }