C# 如何在单击按钮时使用复选框工具从网格视图隐藏列?

C# 如何在单击按钮时使用复选框工具从网格视图隐藏列?,c#,asp.net,gridview,checkbox,C#,Asp.net,Gridview,Checkbox,我正在Visual Studio 2012中使用C#创建一个web项目,它从数据库中获取数据并在网格视图中显示。数据库中有许多列,按原样显示在网格视图上。我想为用户提供一个选项,使用复选框消除不需要的列,选中后,单击按钮,它必须更新 这是我的网格视图的代码 protected void Button1_Click(object sender, EventArgs e) { RunTimeDSTableAdapters.tbl_runtime_reportTableAd

我正在Visual Studio 2012中使用C#创建一个web项目,它从数据库中获取数据并在网格视图中显示。数据库中有许多列,按原样显示在网格视图上。我想为用户提供一个选项,使用复选框消除不需要的列,选中后,单击按钮,它必须更新

这是我的网格视图的代码

 protected void Button1_Click(object sender, EventArgs e)
    {

        RunTimeDSTableAdapters.tbl_runtime_reportTableAdapter state = new RunTimeDSTableAdapters.tbl_runtime_reportTableAdapter();
        DataTable dt = new DataTable();
        DateTime dt1 = Convert.ToDateTime(TextBox1.Text);
        DateTime dt2 = Convert.ToDateTime(TextBox2.Text);
        dt = state.GetSubmitDataBy(DropDownList1.SelectedValue.ToString(), DropDownList2.SelectedValue.ToString(), dt1.ToString(), dt2.ToString());
        GridView1.DataSource = dt;
        GridView1.DataBind();


    }

我假设您在gridview中有一个复选框列来选中/取消选中所需的行。 在这种情况下,您只能在客户端实现这一点。 在单击按钮时编写以下javascript代码:

    function HideUnhideRows() {
        var myGridView = document.getElementById("<%=GridView1.ClientID %>");
        var rows = myGridView.rows.length;

        for (var i = 1; i < myGridView.rows.length; i++) {
            var row = myGridView.rows[i];
            var ctrl = row.cells[0].children[0]; // if checkbox is the first column
            if (ctrl.checked) {
                row[i].style.display = "none";
            }

        }
    }
函数HideUnhideRows(){
var myGridView=document.getElementById(“”);
var rows=myGridView.rows.length;
对于(var i=1;i
按钮标记:


很好,但OP询问显示/隐藏列(而不是行)