新手上路,遇害隐藏gridview列出现的问题
gridview 绑定数据表,因列数太多所以根据用户的选择来显示相应的字段,假设数据表列:Id,Name,Age ,Sex,Phone,Email 页面上有两checkbox 一个定义为chkBaseInfo 另一个定义为chkContact 当chkBaseInfo选中时则显示Id,Name,Age ,Sex,当chkContact选中时则显示Id,Name,Phone,Email.
我现在的方法是这样的(当chkBaseInfo选中)
mySqlConnection.Open();
SqlDataAdapter da = new SqlDataAdapter( "select * from Customers ", mySqlConnection);
DataSet ds = new DataSet();
da.Fill(ds);
gvmetirial.DataSource = ds;
gvmetirial.DataKeyNames = new string[] { "Id " };
gvmetirial.Columns[4].Visible = false;
gvmetirial.Columns[5].Visible = false;
gvmetirial.DataBind();
mySqlConnection.Close();
当chkContact选中
mySqlConnection.Open();
SqlDataAdapter da = new SqlDataAdapter( "select * from Customers ", mySqlConnection);
DataSet ds = new DataSet();
da.Fill(ds);
gvmetirial.DataSource = ds;
gvmetirial.DataKeyNames = new string[] { "Id " };
gvmetirial.Columns[2].Visible = false;
gvmetirial.Columns[3].Visible = false;
gvmetirial.DataBind();
mySqlConnection.Close();
现在出现的问题是所显示出来的列没有数据(Id,Name 是一直有的),
当我选择chkContact 时,列Age ,Sex是隐藏的,列Phone,Email是显示的,但就是没有数据,不知道是怎么回事,还望高人帮帮忙
------解决方案--------------------重新绑定数据源,不要某个字段不行吗?
------解决方案--------------------05的grid有个特性 将列的enable设置成false后 是取不到值的 ,我上面的方法是用样式来隐藏的,可以达到效果 还有种方法记得不是很清楚,觉得这样用样式来隐藏操作也算比较方便的,不过实在也是比较土的