关于GridView中隐藏列获取值的问题?

以下是为了说明问题:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){IntoData();... 以下是为了说明问题:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
IntoData();
}
}
void IntoData()
{
//给gridview1绑定数据
//并通过gridview1.Columns[4].Visible = false;隐藏这一列
///绝对有数据
}
然后通过gridview1_RowCommand事件可以获取隐藏列的值,
然后用一个Button事件调用IntoData()方法(重新绑定,为了说明问题),
再通过gridview1_RowCommand事件可以获取隐藏列的值,为什么为空了,取不到,但明明有数据!已经碰过几次了,这次有碰到,愚蒙啊,Help?
展开
 我来答
我爱淼淼一生
2009-01-13 · TA获得超过1718个赞
知道小有建树答主
回答量:480
采纳率:0%
帮助的人:256万
展开全部
autogeneratecolumns属性---表示列的自定义产生
在cs文件中多加一行代码,其思路如下:
(1)设置一个css类:
<style>
.hidden{display:none;}
</style>
(2)随后在GridView的列编辑对话框中,对需要进行隐藏的列进行设置,分别设置FootStyle,HeaderStyle,ItemStyle的CssClass属性为“hidden”
Ok,这样我们就实现了隐藏列的目的,同时又能保证对其进行数据绑定。

隐藏列的值
在RowCreated事件中书写如下代码
void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = true; //如果想使第1列不可见,则将它的可见性设为false
//可以根据需要设置更多的列
}
因为在RowCreated事件(隐藏)在绑定时候发生,所以这样就即能将数据绑定到列上,又隐藏了该列.所
以可以访问到隐藏列的值
dt.Columns[0].ColumnMapping = MappingType.Hidden; //隐藏

--------为gridview控件里的“删除”列添加一个确认对话框----------------------
在删除按钮的那一列属性里面,把DeleteText属性设为
可以时img标签
<div id="de" onclick="JavaScript:return confirm('确定删除吗?')">删除</div
chamsean
2009-01-13
知道答主
回答量:55
采纳率:0%
帮助的人:37.2万
展开全部
楼上也不知道从哪粘来的一堆废话简直是所问非所答
这样 你把你需要隐藏的那列转成模板列然后在RowDataBound事件里用
string id = ((Label)e.Row.Cells[1].FindControl("Label1")).Text;
就能取到值
上面换成你要的cells列号就行
这种方法我屡试不爽
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式