GridView更新不了

作者&投稿:甫骆 (若有异议请与网页底部的电邮联系)
GridView更新不了~

问题是这个RowUpdating事件你没有触发

你的按钮事件里面只有一个OnClientClick,没有写后台代码吧
为 DataSet 中每个已插入、已更新或已删除的行调用相应的 INSERT、UPDATE 或 DELETE 语句时会触发Update事件

当使用 Update 时,每一个更新的数据行都会发生一系列事件。执行顺序如下:

将 DataRow 中的值移至参数值。
引发 OnRowUpdating 事件。
执行命令。
如果该命令设置为 FirstReturnedRecord,则第一个返回结果放在 DataRow 中。
如果存在输出参数,它们将被放在 DataRow 中。
引发 OnRowUpdated 事件。
调用 AcceptChanges。

========================================
可以在[删除]按钮的后台代码中加上删除记录的代码

我猜你是在page_load里读取了数据

当数据会发时 系统再次读取数据库了。
你所做的更改就无效了
应该写成
if(!ispostback) //如果不是回发
{
// 则读取数据
}
你没贴详细代码。我估计是这样了。有问题可以短信问我

我觉得你可以这样找一下问题

断点调试到拼SQL语句这里,看看拼出来的SQL,并把拼出来的SQL直接拷贝到查询分析器中,看看是否能有效执行,如果不能有效执行,那么就再找找拼SQL上面语句的问题,有可能是上面拼语句取值的时候,有遗漏的地方,没有取到关键数据

string TotalCredit = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl("TextBox2")).Text 这句,改成
string TotalCredit = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text 试试

哎,你模板列里有空格,空格就是System.Web.UI.LiteralControl

string TotalCredit = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl("TextBox2")).Text;

有FindControl("TextBox2")就不要Cells了

直接
string TotalCredit = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox2")).Text;

IF(!ispostback){Bind();}
这个效果并不是很好 ,你每次重新绑定一次就OK了。没完成一个事件,就重新绑定,能明白吗?

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Bind();
}
这个事件中不能有Bind()方法。

IF(!ispostback){Bind();}
你就是这么写的?this.GridView1.Bind(); 我也不了解你的情况,你这样试试看吧


在VS2005里面,datagridview里如何对某一列排序?
首先将AllowSorting设置为true 并在绑定列中指定排序表达式,然后通过OnSortCommand方法建议SortCommand事件处理。protected void gv_Sorting(object sender, ridViewSortEventArgs e){ this.SortBy = e.SortExpression;if (this.ascOrDesc=="ASC"){ this.ascOrDesc = "DESC";} else { this.ascOrDesc =...

如何获取datagridview行号和列号?
private void dataridView1_Cellnter(object sender, DatGridViwCellEventArgs e){ iTag = (int)this.Tag;\/\/if (iTag == 4)\/\/{ \/\/ if (e.ColumnIndex ==3)\/\/ MessageBox.Show("该列为只读列", "提示信息", MesageBoxButtons.OK,MesageBoxIcon.Inforation);\/\/} \/\/获取当前单元...

如何获取datagridview行号和列号?
private void dataridView1_Cellnter(object sender, DatGridViwCellEventArgs e){ iTag = (int)this.Tag;\/\/if (iTag == 4)\/\/{ \/\/ if (e.ColumnIndex ==3)\/\/ MessageBox.Show("该列为只读列", "提示信息", MesageBoxButtons.OK,MesageBoxIcon.Inforation);\/\/} \/\/获取当前单元...

请教关于delegate.BeginInvoke的问题
BeginInvoke调用委托是和在窗体里面执行一样的.程序会卡也许是数据太多了,一页最好少显示一点 耗时的操作(不涉及窗体界面的)新开线程去执行

子线程可不可以更新UI
new Thread() {@Overridepublic void run() {\/\/ TODO 子线程中通过handler发送消息给handler接收,由handler去更新TextView的值try {for (int i = 0; i < 100; i++) {Thread.sleep(500);Message msg = new Message();msg.what = UPDATE;\/\/ Bundle b = new Bundle();\/\/ b.putString(...

Android可不可以在子线程中更新UI
new Thread() {@Overridepublic void run() {\/\/ TODO 子线程中通过handler发送消息给handler接收,由handler去更新TextView的值try {for (int i = 0; i < 100; i++) {Thread.sleep(500);Message msg = new Message();msg.what = UPDATE;\/\/ Bundle b = new Bundle();\/\/ b.putString(...

海盐县18647949482: 为什么gridview无法实现更新呢? -
余图恒奥: 导致这种情况,可能是因为你数据库语句写错了,或者GRIDVIEW绑定错误,比如绑定字段没有和属性字段对应起来.你要仔细检查,首先是SQL语句,是否运行正确,如果没问题,那就检查控件绑定的时候是否有误.

海盐县18647949482: GridView编辑后无法更新的问题 -
余图恒奥: 注意你的gv1_RowUpdating方法,有没有发现你的方法体跟gv1_RowCancelingEdit方法体是一样的,也就是说,它做了跟你的取消方法一样的事.相信你已经理解了原因,那么接下来你要做的事就是在gv1_RowUpdating方法里实现更新,大概代...

海盐县18647949482: 为什么我使用GridView控件中的更新功能,使用好不能更新数据库?
余图恒奥: 更新数据源控件的办法是使用ado.net重新绑定, 和控件本身其实是没什么关系的, 只要是实现了对应接口的, 所有控件都的更新方法都是通用的.

海盐县18647949482: 急急急 求高手帮忙 GridView 无法更新 点击更新获取值为空 -
余图恒奥: string Avatar = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text; 改为 string Avatar = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[1])).Text; 试试

海盐县18647949482: 数据库连接语句 各字段都没有错误啊 为何gridview更新不成功呢 也没报错 就是结果没变 -
余图恒奥: protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { this.bind(); } } 不写ispostback的话 就是重复绑定原始表...不更新

海盐县18647949482: GridView 里的编辑项,编辑完后点击更新无反应 -
余图恒奥: 删掉SQLDATASOURE和他绑定的GridView 重新来一次

海盐县18647949482: 为什么用 GridView编辑不到的,总是更新不了那个简介的..... -
余图恒奥: string str= ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString(); 试着改成这样试一下!

海盐县18647949482: gridview编辑更新问题 -
余图恒奥: 你是不是PageLoad里给Girdview绑数据了?当你点更新的时候会再次绑一编,你的数据就白更新了.所以在PageLoad加上 If(!IsPostBack) { gridView.datasource=xxx gridView.databind(); } xxx指的是什么?是你给Gridview绑定的数据源,一个Datatable 这里我的意思只是在你绑定数据的外面 加一个If(!IsPostBack) 就可以避免这种情况.至于你如何绑数据gridView.datasource=xxx gridView.databind(); 只是一个例子 数据源不支持分页这个就要具体看你代码怎么写的了.不好说

海盐县18647949482: ASP的 GridView 无法更新,删除数据 -
余图恒奥: gridview里本身就可以设置commandfield删除属性的,要弹出提示框的话,只要在CommandField属性编辑框里的DeleteText里写上<div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div> 即可

海盐县18647949482: gridview更新不成功 结果没变是怎么回事啊 求救啊 -
余图恒奥: 调试下,看运行到更新那块代码没有.有问题通过调试就能找出来.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网