1

私は DataTableこのようにしています:

ここに画像の説明を入力

次のように、「見出し 1-2-3」列を 1 つに結合する必要があります。

ここに画像の説明を入力

残念ながらGridView.TableCellここでは適用できません。C# ASP.NET を使用して列を結合するにはどうすればよいですか?

4

2 に答える 2

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();
    }
于 2013-10-25T14:36:47.980 に答える
0

グリッドビューの代わりに asp.net リピーターを使用できます。

リピーター DataSource はテーブルのソースとなり、リピーターの DataDind() を忘れないでください。

その後、itemdatabound (rpeaterId.ItemDataBound += {+= を押すと、Visual Studio は、Tab ボタンを 2 回押してメソッドを作成することを提案します:) }) リピーターの関数で、ヘッダーの if ステートメントを設定できます。

さらにヘルプが必要な場合は、さらにコードを記述する必要があります。

これがあなたに洞察を与え、あなたの問題を解決するのに役立つことを願っています. 乾杯!

于 2013-10-25T14:05:54.717 に答える