我的页面中有一个GridView但我没有通过GV添加我的行。添加文本框,然后将其显示给GV。现在的问题是,当我按下ADD按钮时,我的GV没有显示更新的行。如果我在菜单栏上单击该页面,那么我的整个页面将刷新,我可以看到我更新的GV。
以下是我的ADD_Click()事件的模拟:
protected void btnAdd_Click(object sender, EventArgs e)
{
var td = from s in cv.Test1
join r in dt.Test2 on s.ID equals r.ID
where s.Col1 == ColumnName
select s;
gvShowComm.DataSource = td;
gvShowComm.DataBind();
}
catch (Exception err)
{
//Nothing!!!
}
}
else
{
MessageBox.Show("Please Enter Entry for the textboxes!");
}
}
现在,当我添加记录时,GridView没有显示更新的记录。谁能告诉我发生了什么?
谢谢!
答案 0 :(得分:2)
您应该验证的第一件事是您的td
对象具有您期望的正确行数。 GridView
应该正确绑定到该对象,因此我的预感是td
中的结果缺少该行。
你如何“添加”这一行?您是先将其保存到数据库然后再运行linq调用吗?从上面的代码看起来就像你调用一些linq来获取结果,但没有任何东西显示你添加任何会导致结果与初始加载不同的东西。
你添加的伪代码应该是:
您也可以通过提取旧数据手动执行此操作。在绑定之前手动将行添加到旧数据(存储在示例中的td
中),然后在手动向linq结果添加行之后执行绑定。