我的gridview是自动绑定列的,现在想要取列数,用这个
GridView1.Columns.Count.ToString(),取出来是0,
另外这条语句也不行
GridView1.Columns[i].ItemStyle.Width = 100我想要调整gridview的列宽,这个该怎么办啊

解决方案 »

  1.   

    GridView1.Columns[i].ItemStyle.Width = 100 
    --------------------
    winform ?
      

  2.   

    用Rows[..].cells去统计和控制
      

  3.   

    自动生成的绑定列字段不会添加到 Columns 集合中。
      

  4.   

    如果是自动生成的列,你可以通过你的数据源来得到列数,比如数据源是一个DataTable,可以通过dataTable.Columns.Count来得到。每个列的.ItemStyle 属性,控制 列中显示的文本的外观,包括高或宽值。
      

  5.   

    当 AutoGenerateColumns 属性设置为 true 时,为数据源中的每个字段自动创建一个 AutoGeneratedField 对象。然后每一字段作为 GridView 控件中的一列显示,其顺序是数据源中字段出现的顺序。此选项提供了一种显示数据源中各字段的便捷方法;但是,您只能有限地控制自动生成的列字段的显示方式或行为方式。
    通过将 AutoGenerateColumns 属性设置为 false,然后创建自定义的 Columns 集合,您可以手动定义列字段,而不是让 GridView 控件自动生成列字段。除了绑定列字段外,您还可以显示按钮列字段、复选框列字段、命令字段、超链接列字段、图像字段或基于您自己的自定义模板的列字段。
      

  6.   

    4楼说的对,控制一下datatable就行了,反正控件绑定的数据都是DATATABLE中的。
      

  7.   

    那有没有什么办法可以控制列宽,刚才“平民百姓”说的取每个列的.ItemStyle 属性,这个怎么写啊
      

  8.   

    我认为很好的操作GridView有两种方式:
    1:使用GridView之前就知道会显示什么样,手动的添加这些列并设置其样式,这样会精确控制并很常使用,但一有数据列的改动就要手动改动设置。2:使用GridView之前只需知道显示哪个数据源的数据,可以在程序设计的时候打开页面设计窗口选中GridView添加其数据源就可以让程序自动的显示其列,这样系统会自动的把所需的列一次加入并可再调整显示样式。楼主的情况是自动的生成列且是动态通过代码设置的数据源,在服务器端基本上是不能设置列的显示样式的。