| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1366 人关注过本帖
标题:Datagrid控件updatecommand事件里获取不了新值
只看楼主 加入收藏
cql
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-4-17
收藏
 问题点数:0 回复次数:10 
Datagrid控件updatecommand事件里获取不了新值
private void Mydatagrid_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string val=((TextBox)e.Item.FindControl("TextBox1")).Text;
}

为什么当我在TextBox1里输入新值后,按“更新”后TextBox1的值又变回原来的值,而val的值也是TextBox1原来的值。请问应该怎么解决?谢谢!
搜索更多相关主题的帖子: Datagrid 控件 TextBox val 获取 
2005-10-31 21:23
一路孤行
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-10-23
收藏
得分:0 

搂主这个问题其实很简单
你的代码写的不完整,因为datagrid的更新时间需要更新的语句
否则你的更新没有触发数据库操作

2005-11-01 16:12
scindy
Rank: 1
等 级:新手上路
威 望:1
帖 子:591
专家分:4
注 册:2006-10-23
收藏
得分:0 
我也遇到了同样的问题

请问你解决了吗?

淘宝新到货: http://shop36082390. 电脑及配件/杀毒U盘/移动硬盘/减肥产品/切苹果器/剥蒜器/个性烟灰缸/装饰彩灯/雨伞/女包//手机座/极品铁观间茶叶/五层布衣柜/三洋/日立投影机
QQ:410243392 (常用)
2006-11-16 13:34
lijie830219
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-9
收藏
得分:0 
2楼说的对,要有数据更新语句

2006-11-16 13:48
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
得分:0 
对呀

没有更新语句怎么会更新呢?

——life is full of ups and downs!
2006-11-16 16:43
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
有更新语句还不行,还得放到SQL命令中去执行相应的命令才能进行修改.

飘过~~
2006-11-16 21:26
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
收藏
得分:0 

void Mydatagrid_UpdateCommand(object sender,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
Mydatagrid.EditItemIndex=(int)e.Item.ItemIndex;
sqlcon = new SqlConnection("server=.;user=sa;database=dotnet");
string sqlstr="update titles set title_id=@id,title=@title,type=@type,pubdate=@pubdate where title_id=@id";
sqlcmd = new SqlCommand(sqlstr,sqlcon);
sqlcmd.Parameters.Add("@id",System.Data.SqlDbType.VarChar);
sqlcmd.Parameters.Add("@title",System.Data.SqlDbType.VarChar);
sqlcmd.Parameters.Add("@type",SqlDbType.VarChar);
sqlcmd.Parameters.Add("@pubdate",SqlDbType.VarChar);
//将更改后的值交给参数
sqlcmd.Parameters["@id"].Value=((TextBox)e.Item.Cells[0].Controls[0]).Text;
sqlcmd.Parameters["@title"].Value=((TextBox)e.Item.Cells[1].Controls[0]).Text;
sqlcmd.Parameters["@type"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text;
sqlcmd.Parameters["@pubdate"].Value=((TextBox)e.Item.Cells[3].Controls[0]).Text;
sqlcon.Open();
sqlcmd.ExecuteNonQuery();
sqlcon.Close();
this.Mydatagrid.EditItemIndex=-1;
sqldar = new SqlDataAdapter("select * from titles","server=.;user=sa;database=dotnet");
DataSet ds = new DataSet();
sqldar.Fill(ds,"titles");
this.Mydatagrid.DataSource=ds.Tables["titles"].DefaultView;
this.Mydatagrid.DataBind();
}

数据库dotnet
表结构:
create table titles
(
title_id varchar(20),
title varchar(20),
type varchar(20),
pubdate varchar(20)
)


天天摸键盘,整天看代码。。。 E-mail : iceqier520@
2006-11-16 23:06
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
得分:0 
你不解释一下Cells[0].Cells[1].Cells[2].是什么意思。

谁会知道为什么要写0.1.2呢!


——life is full of ups and downs!
2006-11-17 10:50
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
收藏
得分:0 
以下是引用漯河在2006-11-17 10:50:00的发言:
你不解释一下Cells[0].Cells[1].Cells[2].是什么意思。

谁会知道为什么要写0.1.2呢!


在创建DataGrid时,为DataGrid添加4列.........分别是title_id,title,type,pubdate
Cells[0],这些表示DataGrid控件中,当前要编辑行的第一个单元格的值

天天摸键盘,整天看代码。。。 E-mail : iceqier520@
2006-11-17 11:12
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
收藏
得分:0 
我知道

我说的是如果别人不知道呢?!!!


——life is full of ups and downs!
2006-11-17 11:18
快速回复:Datagrid控件updatecommand事件里获取不了新值
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111222 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved