我有gridView
,里面有可修改的textbox
。
我还有dropdownlist
,如果单击dropdownlist
,系统将在SQL中读取数据库并将其显示在gridView
中。
如果在点击gridView
后添加新数据时,如何保留我之前在dropdownlist
第一行输入的数字?
通常情况下,如果我重新绑定
textbox
,并重新使用保存的列表或行为重新填充gridView
,则会重置之前输入的textbox
值
非常感谢您提前
答案 0 :(得分:0)
我假设您正在使用类似DropDownList的OnSelectedIndexChanged事件。在那里,您可以使用FindControl查找TextBox,存储数据,重新绑定GridView并将值设置回TextBox。您需要使用FindControl两次,一次用于旧的,一次用于新的TextBox。
请注意使用oldValues.Count
代替GridView1.Rows.Count
。如果新数据集中的行数少于旧数据集中的行数,则会出现“索引超出边界”错误。
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
List<string> oldValues = new List<string>();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
TextBox tbOld = GridView1.Rows[i].FindControl("TextBox1") as TextBox;
oldValues.Add(tbOld.Text);
}
//rebind gridview here
for (int i = 0; i < oldValues.Count; i++)
{
TextBox tbNew = GridView1.Rows[i].FindControl("TextBox1") as TextBox;
tbNew.Text = oldValues[i];
}
}
答案 1 :(得分:0)
你在gridview中使用了dropdownlist和textbox吗?
如果单击下拉列表选择值然后回发到服务器并重置文本框值?