如何在asp.net中从gridview隐藏datatable列

如何在asp.net中从gridview隐藏datatable列,asp.net,gridview,datatable,Asp.net,Gridview,Datatable,我想在gridview中隐藏列。我创建了一个datatable并从数据库中添加数据,然后将其与gridview绑定。现在我想从中隐藏0索引列,但它没有隐藏。 请帮帮我 这是我的密码 `int companyID=转换为NT16会话[companyID] DataTable taskTable = new DataTable("TaskList"); SqlConnection sql_connection = new SqlConnection(

我想在gridview中隐藏列。我创建了一个datatable并从数据库中添加数据,然后将其与gridview绑定。现在我想从中隐藏0索引列,但它没有隐藏。 请帮帮我

这是我的密码

`int companyID=转换为NT16会话[companyID]

            DataTable taskTable = new DataTable("TaskList");

            SqlConnection sql_connection = new SqlConnection("data source=.\\SQLEXPRESS;Integrated Security=SSPI; initial catalog=db_ease");
            SqlCommand sqlCommand = new SqlCommand("select tbl_employee.empID,tbl_employee.empEmploymentID,tbl_employee.empFirstname,tbl_employee.empMiddlename,tbl_employee.empLastname,tbl_employee.empGender,tbl_employee.empMobileNo,tbl_employee.empMac,tbl_association.associationStatus from tbl_employee inner join tbl_association on tbl_employee.empID=tbl_association.empID where tbl_association.companyID="+companyID, sql_connection);
            SqlDataAdapter adapter = new SqlDataAdapter(sqlCommand);

            adapter.Fill(taskTable);
            Session["TaskTable"] = taskTable;

            taskTable.Columns[0].ColumnName = "Employee ID";
            taskTable.Columns[1].ColumnName = "Employment ID";
            taskTable.Columns[2].ColumnName = "First Name";
            taskTable.Columns[3].ColumnName = "Middle Name";
            taskTable.Columns[4].ColumnName = "Last Name";
            taskTable.Columns[5].ColumnName = "Gender";
            taskTable.Columns[6].ColumnName = "Mobile No";
            taskTable.Columns[7].ColumnName = "MAC Address";
            taskTable.Columns[8].ColumnName = "Status";


            BindData();
            displayGridView.Columns[0].Visible = false;
            sql_connection.Close();`
这是我的网格视图


您应该像这样隐藏displayGridView\u RowDataBound事件上的列

   protected void displayGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        e.Row.Cells[0].Visible = false;

    }

当您只需要gridview中的某些列时,您应该只在aspx文件中添加这些列,如下所示:

   <asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
    <Columns>
        <asp:BoundField HeaderText="Header Name" DataField="NameOfFieldInDatabase" />
        <asp:BoundField HeaderText="Header Name2" DataField="NameOfFieldInDatabase2" />
        <asp:BoundField HeaderText="Header Name3" DataField="NameOfFieldInDatabase3" />
    </Columns>
</asp:GridView>

您还应该像上面的代码一样将AutoGenerateColumns=false添加到gridview,否则您将拥有自定义列以及所有其他自动生成列

OnDataBound=gridview\u RowDataBound此事件将使用?指定的参数超出了有效值的范围。参数名称:索引如果e.Row.RowType==DataControlRowType.DataRow{e.Row.Cells[0].Visible=false;}请尝试此操作….以及如何隐藏此列标题?可能重复