2010-08-28 53 views
0

我有一个gridview,其中包含我希望显示的列。但我想访问gridview中的数据行的值,该值不在gridview中显示,但它在该特定行的数据表中。
最初我做的是显示它到gridview以及我使用索引访问它的值,但我真的不想在gridview中显示它的值。在这种情况下,我设置visible = false,但它不识别单元格,所以我应该如何做到这一点?
请让我知道,以便我不必显示该特定行,并且可以访问数据表中存在的该行的值。asp.net gridview

+1

呼吸......! – PhilPursglove 2010-08-28 10:01:49

+0

你打算用这个价值做什么?你可以将值存储在cookie中吗? – user279521 2010-08-28 11:13:52

+0

您的问题不清楚您是在谈论您不想显示的列,还是完全独立的一行数据。澄清吗? – 2010-08-29 06:35:51

回答

0

你是否试图用这种方式来处理表中的主键?这是几年前我写的一篇博客文章,解释了如何在数据库中使用像这样的字段而不显示它。它的要点是,你应该看看使用DataKeys

Using a Primary Key with ASP.NET Data Controls

1

如果设置可以访问所有列值的可见=“假”,在这种情况下,你需要为你的GridView设置datakey名。

//In GridView RowCommand Event: 
    int index = Convert.ToInt32(e.CommandArgument); 

    //If we have more than one DataKeys (ItemId is the field that is visbile = false and myGridView.DatakeyName = Itemid) 
    int ItemId = Convert.ToInt32(GridView1.DataKeys[index].Values["ItemId"]); 
    //else 
    int ItemId = Convert.ToInt32(GridView1.DataKeys[index].Value); 

如果您想要的列不datakey,所以你可以使用gridViewRow

GridViewRow row = GridView1.Rows[index]; 

然后你就可以访问该行的所有列。

希望这个帮助