现在DataGrid的DataBind()是放在if (!Page.IsPostBack)外边的。
但是放在外边,在UpdateCommand之前又运行了一次Page_Load,使得DataGrid又重新绑定回数据库的值,我在DataGrid上编辑修改后的数据就无法保存了。
如果把DataBind()是放在if (!Page.IsPostBack)里面,则当点击DataGrid的更新时候,因为未再运行DataGridBind(),则该DataGrid就不显示了。该怎么办呢?
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
InitPageNavigator();
InitForm();
}
DataGridBind();
} /// <summary>
/// DataGrid数据绑定
/// </summary>
private void DataGridBind()
{
DataView dv = GetDataView();
this.DataGridQuestionFulfil.DataSource = dv;
this.DataGridQuestionFulfil.DataBind();
}
private void DataGridQuestionFulfil_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
TextBox txtFulfilId = ( TextBox )(e.Item.Cells[0].Controls[0]);
TextBox txtFulfilNum = ( TextBox )(e.Item.Cells[1].Controls[0]);
JJSJQuestionFulfil Fulfil = new JJSJQuestionFulfil();
Fulfil.Fulfil_id = txtFulfilId.Text;
Fulfil.Fulfil_num = int.Parse( txtFulfilNum.Text); JJSJQuestionFulfilAdapter.Update(Fulfil);
DataGridQuestionFulfil.EditItemIndex = -1; DataGridQuestionFulfil.DataBind(); }
但是放在外边,在UpdateCommand之前又运行了一次Page_Load,使得DataGrid又重新绑定回数据库的值,我在DataGrid上编辑修改后的数据就无法保存了。
如果把DataBind()是放在if (!Page.IsPostBack)里面,则当点击DataGrid的更新时候,因为未再运行DataGridBind(),则该DataGrid就不显示了。该怎么办呢?
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
InitPageNavigator();
InitForm();
}
DataGridBind();
} /// <summary>
/// DataGrid数据绑定
/// </summary>
private void DataGridBind()
{
DataView dv = GetDataView();
this.DataGridQuestionFulfil.DataSource = dv;
this.DataGridQuestionFulfil.DataBind();
}
private void DataGridQuestionFulfil_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
TextBox txtFulfilId = ( TextBox )(e.Item.Cells[0].Controls[0]);
TextBox txtFulfilNum = ( TextBox )(e.Item.Cells[1].Controls[0]);
JJSJQuestionFulfil Fulfil = new JJSJQuestionFulfil();
Fulfil.Fulfil_id = txtFulfilId.Text;
Fulfil.Fulfil_num = int.Parse( txtFulfilNum.Text); JJSJQuestionFulfilAdapter.Update(Fulfil);
DataGridQuestionFulfil.EditItemIndex = -1; DataGridQuestionFulfil.DataBind(); }
解决方案 »
- 不显示删除回复显示所有回复显示星级回复显示得分回复 页面上有一个像链接一样的东西,点击后可以下载,怎么实现?
- asp.net Web.config中配置Access数据库连接字符串
- treeview控件如何把根节点,子结点与数据库中的字段相联系?
- 大家都用Microsoft ASP.NET Web Matrix 吗??
- 提交表单,不能转至action指定页面?
- 怎样删除临时文件夹里面的文件
- 请问一个关于密码类型的文本框的问题,在线等,谢谢...(2004-3-10)
- 顶级难题,非高莫入..............
- 引用C#类中的方法出错???
- 求一正则表达式,在线等待
- 我用WebClient取数据时经常会发生超时的错误,但重启一下服务器又好了,不久后又是同样的错误,不知是哪里出了问题
- 如何解决把大文件写入session,session丢失的问题?
然后,修改一下DataGrid的EditCommand事件:
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = (int)e.Item.ItemIndex;
DataGridBind();//绑定
}