从数据库库中提取的字段:string sql="select UserName,Name,UserType,UserID from UserInfo";<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
            DataSourceID="SqlDataSource1" PageSize="20" OnRowDataBound="GridView1_RowDataBound">
            <PagerSettings FirstPageText="第一页" LastPageText="最后一页" Mode="NextPreviousFirstLast"
                NextPageText="下一页" PageButtonCount="20" PreviousPageText="上一页" />
            <Columns>
                <asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
                <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                <asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />
                <asp:BoundField DataField="UserType" HeaderText="UserType" SortExpression="UserType" />
            </Columns>
        </asp:GridView>
行绑定函数: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        e.Row.Cells[3].Visible = false;
       
        
    }
执行后总是报错:
指定的参数已超出有效值的范围。
参数名: index 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: index源错误: 
行 20:     protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
行 21:     {
行 22:         e.Row.Cells[3].Visible = false; Cell的索引是从0开始,我想屏蔽UserType字段,后来发现:只有屏蔽第一个不出问题,后面三个都出问题,请问应该怎么解决?