gridview 多个隐藏列取值
在使用 vs 2003 的时候,将多个列隐藏供程序处理的时候使用,通常是将这个列的visible=false 即可解决。但在 2.0之后 GridView 隐藏列就无法获取到值。一个较优雅的GridView隐藏列取值解决方案 对于多列这样做一样取不到值, GridView隐藏列取值 这样做确实有点麻烦。通过摸索,终于找到了一种相对简单的实现方法。
我的实现方法:
1. gridview 绑定的之前增加:
if (ds != null)
{
string[] dkey = { "autoid", "myUserID", "outerKey" };
this.gdvAlbum.DataKeyNames = dkey;
this.gdvAlbum.DataSource = ds.Tables[0];
this.gdvAlbum.DataBind();
}
{
string[] dkey = { "autoid", "myUserID", "outerKey" };
this.gdvAlbum.DataKeyNames = dkey;
this.gdvAlbum.DataSource = ds.Tables[0];
this.gdvAlbum.DataBind();
}
2.取值:
System.Collections.Specialized.IOrderedDictionary dk = gdvAlbum.DataKeys[i].Values;
int albumID = int.Parse(dk[0]);
int myID = int.Parse(dk[1]);
string okey = dk[2].ToString();
int albumID = int.Parse(dk[0]);
int myID = int.Parse(dk[1]);
string okey = dk[2].ToString();
这样能保证多个隐藏列取到正确的值。