GridView隐藏列的问题

GridView的数据源是通过DataSet进行动态绑定的,列数不固定。现在我想隐藏最后一列,使用了GridView1.Columns[0].Visible=false,... GridView的数据源是通过DataSet进行动态绑定的,列数不固定。现在我想隐藏最后一列,使用了GridView1.Columns[0].Visible = false,但是一直提示超出最大值。数据绑定是成功的,如果屏蔽这句可以正常显示数据。代码如下:
//conn的定义
//最终的查询语句
string sql = recsql + " where ny='" + ny + "'"; //拼出来查询语句

OracleDataAdapter myad1 = new OracleDataAdapter("" + sql + "", conn);
OracleCommandBuilder mybd1 = new OracleCommandBuilder(myad1);
DataSet myds1 = new DataSet();
myad1.Fill(myds1, "tb");
int colnum = myds1.Tables["tb"].Columns.Count;
GridView1.DataSource = myds1.Tables["tb"];
GridView1.DataBind();
GridView1.Columns[colnmu-1].Visible = false;//执行到这里就报错,提示超出范围,我改成0也不行。

另外我试过隐藏最后一列每行的数据,但是这样没法隐藏表头。代码如下:
for (int i = 0; i < 20; i++)
{
GridView1.Rows[i].Cells[colnum - 1].Visible = false;
}
求解,谢谢!
展开
 我来答
汝齐67
2014-04-23
知道答主
回答量:11
采纳率:0%
帮助的人:6.2万
展开全部
再用同样的方法隐藏表头不行么??
GridView1.HeaderRows
更多追问追答
追问
这个办法我试过了,确实可以,谢谢,但是为什么不能直接设置column.visible=false呢?
追答
因为列是自动生成的列
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式