如何在转发器输出中每5个记录后插入一个空记录?

问题描述 投票:1回答:1

实际上,我需要在转发器输出中的每5条记录之后插入一个空记录。

例如中继器原始输出如下1个Asif2比拉尔3阿卜杜勒4阿里5巴巴6瓦卡斯7 Asghar

我们期望的输出如下1个Asif2比拉尔3阿卜杜勒4阿里5巴]

6 Waqas7 Asghar

aspx页面代码是:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%#Eval("CustomerName") %>'></asp:Label>
                    <br />
                </ItemTemplate>
            </asp:Repeater>
        </div>
    </form>
</body>
</html>

并且后端代码是:

SqlConnection con = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        protected void Page_Load(object sender, EventArgs e)
        {
            con.ConnectionString = "Data Source=PC\\SQLEXPRESS;Initial Catalog=AlvisDB;Persist Security Info=True;User ID=sa;Password=pass";
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "SELECT CustomerName FROM Customers";
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adp.Fill(ds);
            Repeater1.DataSource = ds;
            Repeater1.DataBind();
            con.Close();
        }
c# asp.net gridview repeater
1个回答
3
投票
        SqlConnection con = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        protected void Page_Load(object sender, EventArgs e)
        {
            con.ConnectionString = "Data Source=PC\\SQLEXPRESS;Initial Catalog=AlvisDB;Persist Security Info=True;User ID=sa;Password=pass";
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "SELECT CustomerName FROM Customers";
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adp.Fill(ds);


            Repeater1.DataSource = ds;
            Repeater1.DataBind();
            con.Close();
        }

只需将此代码添加到您现有的代码中

            SqlConnection con = new SqlConnection();
            SqlCommand cmd = new SqlCommand();
            protected void Page_Load(object sender, EventArgs e)
            {
                con.ConnectionString = "Data Source=PC\\SQLEXPRESS;Initial Catalog=AlvisDB;Persist Security Info=True;User ID=sa;Password=pass";
                con.Open();
                cmd.Connection = con;
                cmd.CommandText = "SELECT CustomerName FROM Customers";
                SqlDataAdapter adp = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                adp.Fill(ds);
                DataTable finalTable = new DataTable();
                if (ds.Tables.Count > 0)
                {
                    int i = 1;
                    DataTable firstTable = ds.Tables[0];
                    foreach (DataRow row in firstTable.Rows)
                    {
                        if (i == 5)
                        {
                            firstTable.NewRow();
                            i = 0;
                        }

                        finalTable.Rows.Add(row);
                        i++;
                    }
                }

                Repeater1.DataSource = finalTable;
                Repeater1.DataBind();
                con.Close();
            }
© www.soinside.com 2019 - 2024. All rights reserved.