Gridview本身就是服务器控件,后面写着run=server呢,
在他的事件里面你可以直接获取到的
如果是MVC模式的,那就用楼上得方法,或者request对象,或者实体映射咋的都行反正string sqlstr ="select form 数据表;
sqldataAdapter da=new sqldataAdapter (sqlstr,sqlconn);
dataset ds=new Dataset ();
dafill(ds);
Grview1datasource=ds;
Grview1Databind();
望采纳 谢谢
更新需要两个条件,一是更新的内容是什么,二是更新哪一行数据,在这里,哪一行数据我们在删除的时候就已经确定下了,就是鼠标所点的那一行,而更新的内容却不知道,所以这里要先做这一步:回到设计页面,点击小三角,编辑列,在选定的字段中,把年龄,分数分别点击将此字段转换为TemplateField;;做完这一步,年龄与分数的文本框就出来了,分别为TextBox1和TextBox2;
这个时候当你点击更新时候,也会报错,提示GridView“GV”激发了未处理的事件“RowUpdating”;这时你就要到事件列表,找到RowUpdating事件,在其后面的表格中双击进入后台写出以下代码:
protected void GV_RowUpdating(object sender, GridViewUpdateEventArgs e)2 {
3 int ab = ConvertToInt32(GVDataKeys[eRowIndex]Value);
4 string nl = ((TextBox)GVRows[eRowIndex]FindControl("TextBox1"))Text;//把鼠标所点的那一行的文本框的值给取出来
5 string fs = ((TextBox)GVRows[eRowIndex]FindControl("TextBox2"))Text;
6 SqlConnection cnn = new SqlConnection("Server=(local);uid=sa;pwd=0;database=学生");
7 string SQL = "update xs set 年龄='"+nl+"',分数='"+fs+"' where id="+ab;
8 SqlCommand cmd = new SqlCommand(SQL,cnn);
9 cnnOpen();
10 cmdExecuteNonQuery();
11 cnnClose();
12 //这下面两句就是代表,当你点击更新以后,它就会回到初始状态,就相当于再点击更新的同时,又点了一次取消按钮;然后再重新加载一次。
13 GVEditIndex = -1;
14 abc();
15 }
至此更新按钮就写好了,不过还要说一点,可能当你每次点击按钮的时候,整个页面都会重新加载一下,所以为了防止此现象,我们要给个整个页面加上一个回调命令,代码如下:
1 protected void Page_Load(object sender, EventArgs e)2 {
3 if (IsPostBack)//当触发回调(点击按钮或下拉菜单或其它事件)时则停止运行abc();
4 return;
5 abc();
6 }分不了页应该是最后分页的时候没有绑定吧!
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1PageIndex = eNewPageIndex;
bind();
}
至于编辑,你看看前台的那个空间属性中那个是否可编辑那个设置成ture没有。
另外,团IDC网上有许多产品团购,便宜有口碑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)