asp.net 关于DataSet隐藏列的问题。
protected void Page_Load(object sender, EventArgs e)
         {
             if (!IsPostBack)
             {
                 DataSet ds = GetData();
                 if (ds.Tables.Count > 0)
                 {
                     //给DataSet中字段取别名
                     ds.Tables[0].Columns["sno"].ColumnName = "学号";
                     ds.Tables[0].Columns["sname"].ColumnName = "姓名";
                     ds.Tables[0].Columns["ssex"].ColumnName = "性别";
                     ds.Tables[0].Columns["sage"].ColumnName = "年龄";
                     ds.Tables[0].Columns["sdept"].ColumnName = "专业";
                     //第一种方法隐藏列
                     //ds.Tables[0].Columns[0].ColumnMapping = MappingType.Hidden;
                     GridView1.DataSource = ds;
                     GridView1.DataBind();
                     //第二种方法隐藏列
                     //GridView1.Columns[0].Visible = false;
                 }
                 else
                 {
                     string scriptString = "alert('没有可显示的数据!');";
                     Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "success", scriptString, true);
                 }
             }
         }
         public DataSet GetData()
         {
             string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
             SqlConnection conn = new SqlConnection(connectionString);
             conn.Open();
             SqlDataAdapter adapter = new SqlDataAdapter("select * from student", conn);
             DataSet dataset = new DataSet();
             adapter.Fill(dataset);
             conn.Close();
             return dataset;
         }
第一种方法是在DataSet中隐藏列,然后绑定到GridView上,但是没有效果。第二种方法是先将DataSet绑定到GridView上,然后设置GridView某列是否显示为false,出错——索引超出范围。求解!!!!!
------解决方案--------------------
GridView设置隐藏列是可以的,在绑定事件里面进行设置
e.Row.Cells[0].Visible = false;