我可以在GridView中插入一行吗?

Sis*_*utl 2 asp.net gridview

我正在维护一个ASP.Net 2.0网站,该网站在GridView中显示产品.客户询问我是否可以每隔10行显示一个"添加到购物车"按钮.我可以通过将按钮放在自己的列中并翻转可见性来做到这一点,但我想知道是否可以在每10个项目之后注入一个新行.这会将按钮放在自己的行上,并且当它不可见时不会占用列空间.有关如何做到这一点的任何想法?TIA

And*_*are 5

将行插入GridView是非常困难的.你有没有想过使用中继器?

鉴于以下标记:

<asp:Repeater id="repeater" runat="server">
    <ItemTemplate>
        <h1><%#Container.DataItem%></h1>
    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

在您选择的行中,您可以使用以下代码隐藏来插入自定义控件:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;

public partial class Default : Page
{
    protected override void OnInit(EventArgs e)
    {
        this.repeater.ItemCreated += repeater_ItemCreated;

        base.OnInit(e);
    }

    protected override void OnLoad(EventArgs e)
    {
        this.repeater.DataSource = new List<String>
        {
            "one", "two", "three", "four", "five", "six", "seven"
        };

        this.repeater.DataBind();

        base.OnLoad(e);
    }

    void repeater_ItemCreated(Object sender, RepeaterItemEventArgs e)
    {
        if (this.repeater.Items.Count > 0
            && this.repeater.Items.Count % 3 == 0)
        {
            this.repeater.Controls.Add(new LiteralControl("<h4>hello world</h4>"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)