如何隐藏第十一列之后的所有列

How to hide all columns after eleventh column

我有一个 gridview,它显示了一些关于公司职位的信息。最后的列显示不同的棋子类型,因此如果移除或添加棋子,这些列数可能会发生变化。 因为我不知道那里可以有多少列,所以我不能使用 row.Cells[8].Visible = false; 因为我不知道数字。 用户可以决定是否要在报告中查看这些部分。因此,如果单击单选按钮,我需要隐藏第十一列之后的所有列(这是片段列开始的地方)。

protected void gvResults_RowCreated(object sender, GridViewRowEventArgs e)
    {
        foreach (TableRow row in gvResults.Controls[0].Controls)
        {
            if (rbDailyReport.Checked)
            {
                row.Cells[0].Visible = true;
                row.Cells[8].Visible = false;
            }

        }

    }

如果我知道要隐藏的列的编号,代码是否有效。所以我需要检查行是否大于 11 然后隐藏所有行。

这个怎么样?

protected void gvResults_RowCreated(object sender, GridViewRowEventArgs e)
{
    for (int i = 8; i < e.Row.Cells.Count; i++)
    {
        e.Row.Cells[i].Visible = false;
    }
}

从索引8开始,隐藏所有索引大于8的列。