再发一贴:还是取gridview“列索引值” 为了把这个问题整明白 放100分

wang520d wang520d 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
注意是列索引 为什么要获得列索引:因为我要在下面事件中根据列索引去隐藏列 可是我只知道 绑定列的字段名 不知道这个字段的cells索引值
(因为列是自动创建的所以无法去数他的cells是第几。。。)

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow ||
e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[这个值怎么根据字段名得到].Visible = false; //
}
}



由于绑定gridview的列是自动创建的 用下面方法试过了自动创建的列在下面这个事件里面是找不到e.Row.Cells[i].Text的文本值 这个值永远为空

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
int index = -1;
if (e.Row.RowType == DataControlRowType.Header)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
// 不是字段名,是字段对应的列的列名
if (e.Row.Cells[i].Text == "特定列名")
{
e.Row.Cells[i].Visible = false;
index = i;
}
}
}
else if (e.Row.RowType == DataControlRowType.DataRow)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
if (i == index)
{
e.Row.Cells[i].Visible = false;
}
}
}
}
...全文
评论 35
收藏 已收藏
分享
返回顶部
wang520d
.NET社区 62,271 成员 668,968 内容