repeater动态创建一行或者删除一行

来源:互联网 发布:网络龙虎概率分析软件 编辑:程序博客网 时间:2024/06/05 01:07

protected void Page_Load(object sender, EventArgs e)

        {

            ViewState["state"] = Request.QueryString["state"].Trim();

            if (!IsPostBack)

            {

                InitData();

                DataBinds();

            }

        }

 

        protected void InitData()

        {

            DataTable dt = new DataTable();

            dt.Columns.Add("date", typeof(string));

            dt.Columns.Add("mark", typeof(string));

            for (int i = 0; i < 1; i++)

            {

                DataRow dr = dt.NewRow();

               dt.Rows.Add(dr);

            }

            ViewState.Add("Data", dt);

        }

 

        protected void DataBinds()

        {

            rpCustomerInfo.DataSource = ViewState["Data"] as DataTable;

            rpCustomerInfo.DataBind();

        }

 

        protected DataTable CopyFormData()

        {

            DataTable dt = (ViewState["Data"] as DataTable).Clone();

            foreach (RepeaterItem ri in rpCustomerInfo.Items)

            {

                DataRow dr = dt.NewRow();

 

                dr["date"] = (ri.FindControl("datetxt") as TextBox).Text;

                dr["mark"] = (ri.FindControl("marktxt") as TextBox).Text;

 

                dt.Rows.Add(dr);

            }

 

            return dt;

        }

 

        protected void btnNew_OnClick(object sender, EventArgs e)

        {

            DataTable dt = CopyFormData();

 

            DataRow dr = dt.NewRow();

 

            dt.Rows.Add(dr);

 

            ViewState.Add("Data", dt);

 

            DataBinds();

        }

 

        protected void rpCustomerInfo_ItemCommand(object source, RepeaterCommandEventArgs e)

        {

            if (rpCustomerInfo.Items.Count > 1)

            {

                if (e.CommandName == "Delete")

                {

                    DataTable dt = CopyFormData();

 

                    dt.Rows.RemoveAt(e.Item.ItemIndex);

 

                    ViewState.Add("Data", dt);

 

                    DataBinds();

                }

            }

            else

            {

 

                Page.ClientScript.RegisterStartupScript(typeof(string), "", "alert('不能

删除最后一条日期!');", true);

 

            }

        }


0 0
原创粉丝点击