熟悉gridview的使用的请帮个忙!!!
本人使用gridview创建了一个check的模板列,还有一个包含主键的隐藏列。
为什么这两列都无法取到正确的值,每次取都是空值??????
------解决方案--------------------数据绑定了吗?
------解决方案--------------------估计是你取的方法有问题,将你的代码贴出来看看
另外,最好不要用主键隐藏列,而是用DataKeyNames
------解决方案--------------------还是贴出完整的代码吧
------解决方案--------------------this.GridView1.Rows[0].Cells[0].Text;
用的这个方法取得值,取不出来数据。
请大家帮帮忙,我才用asp.net不久。
比如:Label lb = GridView1.Rows[0].FindControl("labelID") as Label;
------解决方案--------------------设置DataKeyNames值为表中的PK字段
看你是什么事件了 更新、删除还是编辑?
更新
int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
编辑
int id = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex].Value);
删除
int id = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
模板列事件:
Control cmdSource = (Control)e.CommandSource;
GridViewRow gvr = (GridViewRow)cmdSource.NamingContainer;
int rowIndex = gvr.RowIndex;
int id = Convert.ToInt32(GridView1.DataKeys[rowIndex].Value.ToString());//取得ID
还有别的方法 比如和 在HTML代码里 让模板列中的BUTTON 按钮的CommandArgument属性和表中的PK值绑定
在模板列中取值也是可以的