如何一次修改多行数据?用textchanged能实现吗?

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:27:40
我在gridview中用textbox绑定数据,然后想一次性修改多行数据,并给修改的行变颜色。如果用textchanged能实现吗
protected void tx_changed (object sender, EventArgs e)
{ ArrayList al = new ArrayList();
DataTable dt1 = new DataTable();
Label lb1 = new Label ();
DataTable dt = new DataTable();
dt = Session["table"] as DataTable;
int i = 0;
do {
text1 = gv_edit.Rows[i].FindControl("name") as TextBox;
lb1 = gv_edit.Rows[i].FindControl("id") as Label;
al.Add(lb1.ToString());
gv_edit.Rows[i].BackColor =System.Drawing.Color.LightBlue;
i++; } while (i < gv_edit.Rows.Count); }
private void InitializeComponent() {
this.text1.TextChanged += new EventHandler(tx_changed);
this.Load += new EventHandler(this.Page_Load); } override protected void OnInit(EventArgs e)
{ InitializeComponent();
base.OnInit(e); }

可以,在ItemCreate的事件中给TextBox绑定TextChanged事件,在处理该change事件的时候记录修改过的行数的ID,然后去数据库更新这些数据,并处理相关行的颜色

this.text1.TextChanged += new EventHandler(tx_changed);
这句不能在InitializeComponent这里加载,因为当时页面并没有text1这个控件,应该在gv_edit.RowCreated事件加载,并且加载前也要先根据ID去find到控件