GridView gdvMy = new GridView();
后,怎样使它的某一列隐藏起来??gdvMy.Columns[0].Visible = false; 不行,提示出错:'索引超出范围。必须为非负值并小于集合大小。参数名: index'

解决方案 »

  1.   

    绑定数据源后,列才能生成,这时才可以隐藏,楼主调用的时机不对.
    GridView gdvMy = new GridView();
    gdvmy.datasource = XXXX;
    gdvimy.databind();
    gdvmy.column[0].visible = false;
      

  2.   

    不是啊,我已经是先绑定的了:
    GridView gdvMy = new GridView();            gdvMy.DataSource = odsUserTable;
                gdvMy.DataBind();            gdvMy.Columns[0].Visible = false;            Response.Clear();
                Response.Buffer = false;
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=recordTable.xls");
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
                System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
                gdvMy.RenderControl(oHtmlTextWriter);
                Response.Write(oStringWriter.ToString());
                Response.End();
      

  3.   

    lnwuyaowei(风可以追我) ( ) 信誉:100  2006-06-15 08:13:00  得分: 0  
     
     
       绑定数据源后,列才能生成,这时才可以隐藏,楼主调用的时机不对.
    GridView gdvMy = new GridView();
    gdvmy.datasource = XXXX;
    gdvimy.databind();
    gdvmy.column[0].visible = false;
      
     
    -------------------
    嗯,说得不错,好方法!!!
      

  4.   

    跟我的问题差不多,读取表头居然出错
    TmpBedData.Columns(0).HeaderText
    读取列数和行数就可以
    RowsCount = TmpBedData.Rows.Count
    ColsCount = TmpBedData.Rows(0).Cells.Count
      

  5.   

    查资料,动态生成的列就会出现这样的问题
    晕,.net怎么会这样,如果是静态的,我用.net干嘛
      

  6.   

    只有设置类似boundfiled autogeneratecolumns=false 才可以设visible
    自动绑定的columns.count=0