【问题标题】:Hide Rows of GridView depending upon selection of CheckBox根据 CheckBox 的选择隐藏 GridView 的行
【发布时间】:2014-02-20 19:59:09
【问题描述】:

如果选中该行第一列中的 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;
                }
            }
        }

    }
}

【问题讨论】:

  • 您面临的问题是什么?代码似乎没问题。
  • 我想隐藏不止一行。 Bt 这段代码只隐藏了一个
  • 如何检查每行中的复选框是否被选中?如何相应地隐藏该行??

标签: asp.net gridview checkbox


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 2013-02-12
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多