根据CheckBox的选择隐藏GridView的行

时间:2014-01-29 06:41:50

标签: asp.net gridview checkbox

如果选中该行第一列中的CheckBox,我想隐藏GridView的行。 如果我选中一些复选框并单击“停用”按钮,则应隐藏选中的行。 如果我选中一些复选框并单击激活按钮,则应显示选中的行。

我的代码是

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;

namespace GalleryAnd_Album
{
    public partial class view_album : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=PRAVIN-LENOVO\\SQLEXPRESS;Initial Catalog=Gallery;Integrated Security=True");
            SqlDataAdapter da = new SqlDataAdapter("select * from Album", con);
            DataTable dt = new DataTable();
            da.Fill(dt);
            GridView1.DataSource = dt;
            DataBind();
        }


        protected void btnactive_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                var chk = row.FindControl("CheckBox1") as CheckBox;
                if (chk.Checked)
                {
                    GridView1.Rows[1].Visible = false;
                }
            }
        }

    }
}

1 个答案:

答案 0 :(得分:0)

代码需要使用变量来跟踪每一行,因为它当前使用的是硬编码索引1。 您可以使用row.RowIndex属性来跟踪特定行,以便代码如下所示:

GridView1.Rows[row.RowIndex].Visible = false;