显示和隐藏网格视图选定的行特定单元格

时间:2011-05-11 08:10:10

标签: asp.net gridview show-hide

目前我正在开展一个项目。

网格中总共有5列,其中2列是可见的。

name     email_id_X         email_id                 mobile_no_X   mobile_no   SELECT
-------------------------------------------------- ---------------------------------
Mahesh  maXXXXXXahoo.co.in  maheshsbhoye@yahoo.co.in 98XXXXXX96    986769696   SELECT
Kiran   kiXXXXXX.in         kiran@yahoo.co.in        93XXXXXX333   9333333333  SELECT 
Kiran   kiXXXXXX.in         kiran@yahoo.co.in        93XXXXXX333   9333333333  SELECT 
Kiran   kiXXXXXX.in         kiran@yahoo.co.in        93XXXXXX333   9333333333  SELECT 
Amit    AmXXXXXXin          Amit@yahoo.co.in         93XXXXXX333   9333333333  SELECT 

所以请告诉我如何隐藏列email_id和mobile_no。 当用户点击时选择该时间他只能看到所选行email_id和mobile_no。

感谢。

3 个答案:

答案 0 :(得分:1)

您可以使用RowCommand事件执行此操作。像..

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Select")
    {
        GridView1.Columns[2].Visible = false;
        GridView1.Columns[4].Visible = false;
    }
}

修改

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Select")
    {
        GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
        row.Cells[2].Visible = false;
        row.Cells[4].Visible = false;
    }
}

答案 1 :(得分:1)

首先为这两列设置visible=false。 然后只获取您选择的行,更改datasourceid并绑定gridview1_SelectedIndexchanged事件中的数据。

首先查询数据源,它就像Select * from table1。 当您第二次绑定时,单击选择后,您的查询应该是Select * from table1 where emailid=xyz

答案 2 :(得分:0)

要隐藏某些列,您可以在后面的代码中使用它:

GridView1.Columns[2].Visible = false;
GridView1.Columns[3].Visible = false;

这将隐藏GridView的3 rd 和4 th 列。