这种问题都不知道碰到多少遍啦,都是一些小问题,自己多钻下
http://singlepine.cnblogs.com/articles/266538.html
这里有个很齐全的datagrid实例,你自己多琢磨琢磨,对以后你碰到的问题也会有帮助!
补充一点,也是初学者容易忘记的
dropdownlist的autopostback属性记得改为true

解决方案 »

  1.   

    以编程方式隐藏数据网格中的列
    在窗体的声明区域中声明 DataGridTableStyle 类的新实例。将 DataGridTableStyle 的 MappingName 属性设置为希望应用样式的数据源中的表。下面的代码示例使用 DataGrid.DataMember 属性(假定已经设置了它)。向数据网格的表样式集合中添加新的 DataGridTableStyle 对象。通过将列的 Width 属性设置为 0,并指定要隐藏的列的列索引来隐藏列。 Visual Basic  复制代码 
    ' Declare a new DataGridTableStyle in the
    ' declarations area of your form.
    Dim ts As DataGridTableStyle = New DataGridTableStyle()Sub HideColumn()
       ' Set the DataGridTableStyle.MappingName property
       ' to the table in the data source to map to.
       ts.MappingName = DataGrid1.DataMember   ' Add it to the datagrid's TableStyles collection
       DataGrid1.TableStyles.Add(ts)   ' Hide the first column (index 0)
       DataGrid1.TableStyles(0).GridColumnStyles(0).Width = 0
    End Sub 
    C#  复制代码 
    // Declare a new DataGridTableStyle in the
    // declarations area of your form.
    DataGridTableStyle ts = new DataGridTableStyle();private void hideColumn()
    {
       // Set the DataGridTableStyle.MappingName property
       // to the table in the data source to map to.
       ts.MappingName = dataGrid1.DataMember;   // Add it to the datagrid's TableStyles collection
       dataGrid1.TableStyles.Add(ts);   // Hide the first column (index 0)
       dataGrid1.TableStyles[0].GridColumnStyles[0].Width = 0;
    }
     
    这是MSDN的代码,你好好看看。看懂了你就知道该怎么做了!
      

  2.   

    if (显示)
             {
                DataGrid.Columns[0].Visible = true;
             }
             else
             {
                DataGrid.Columns[0].Visible = false;
             }不好意思,在WebForm下面用这个方法!
    我上面的方法是Winform里的!
      

  3.   

    wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴)

    amandag(高歌) 
    的答案都可以,当要显示 "性别","所在省","入职时间"等字段的 任一字段改成显示任N个字段时,又该怎么办呢?也就是说有N个dropdownlist.请大哥帮忙解决一下,这个问题总共300分,当高分赠送,谢谢
      

  4.   

    当要显示 "性别","所在省","入职时间"等字段的 任一字段改成显示任N个字段时,又该怎么办呢?也就是说有N个dropdownlist.
    说的是啥话。听不明白 "id","姓名","性别"  datagrid上显示这三个字段信息下拉列表里显示其余的
    所在省_________辽宁
    入职时间_______2004-12-10
      

  5.   

    比如说 "性别","所在省","入职时间",在页眉上有两个dropdownlist,显示"性别","所在省","入职时间"中的任两字段,而不是任一字段
      

  6.   

    也就是说其他的隐藏,留下N个字段不隐藏显示在datagrid中
      

  7.   

    N个数 < dropdownlist中显示的字段名个数
      

  8.   

    当要显示 "性别","所在省","入职时间"等字段的 任一字段改成显示任N个字段时,又该怎么办呢?也就是说有N个dropdownlist.
      

  9.   

    而且点击的dropdownlist所在的列位置次序不变动
      

  10.   

    一个dropdownlist只能对一个字段!
      

  11.   

    wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 的方法真不可取,隐藏列并没有减少下载量!
      

  12.   

    to  li_guang_hua(无声胜有声) 那该怎么办呢?
      

  13.   

    li_guang_hua(无声胜有声) ( ) 信誉:100    Blog   加为好友  2007-05-05 11:15:20  得分: 0  
     
     
       wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 的方法真不可取,隐藏列并没有减少下载量!
      
    ————————————————————————————————————————————
     
    上面设置“DataGrid.Columns[0].Visible = false;”类的代码完全可以。这会“减少下载量”,设置为 Visible=false 的列,不论标题、内容、分隔行、页脚,统统不下载那一列。如果跑到html上去设置隐藏或者设置列宽为0(设置过小的列宽其实并不能在浏览器上精确显示,但我们暂且假设可以显示),才不能减少下载量。
      

  14.   

    li_guang_hua(无声胜有声) ( ) 信誉:100    Blog   加为好友  2007-05-05 11:15:20  得分: 0  
     
       wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 的方法真不可取,隐藏列并没有减少下载量!
    ----------------------------------------------------------------------------
    你是怎么样得出的结论的? 呵呵…………看来实践经验还是不足哦。To 楼主:
    你可以用CheckBoxList或者其它可以多选的控件代替DropDownList嘛!
      

  15.   

    里面内容都一样,都是表中的字段名,选什么字段名就显示什么字段,任意显示两列或两列以上,只是为了让浏览者可同时看多个自选的字段,而不用像任选一个那样每次只能看到一个自选的,当要看另一个自选的时,又要再点击dropdownlist
      

  16.   

    还是希望在datagrid页眉上用多个dropdownlist解决,这样外观比较好,.
    当点击dropdownlist改时,代替的字段也能在点击的这一列显示,而不跑到其他位置次序
      

  17.   

    1、dropdownlist 设置成AUTOPOSTBACK
     每个value 写一个SQL语句,写成你需要显示的字段。
        ……虽然每次都需要提交服务器。。但是可以实现
    2、用客户端来解决。。JS。。
       datagrid把字段全部显示。。然后在DROPDOWNLIST里加载JS把相应的都隐藏起来
       
       
      

  18.   

    换个思路,用ListBox控件,并设置 SelectionMode="Multiple",然后再添加一个Button型变量,在其代码中将listbox中被选中的项取出,连接数据库,用select语句取出数据即可。
      

  19.   

    SimpleDay(今天你穿内裤了吗?) 答案可行。。
    不过最好还是把所有的字段列出来 通过dropdownlist的只要设置要显示的列就ok了 感觉不需要去设置其value去连接数据库。。多次连接效率有所下降~
      

  20.   

    可在dropdownlist的itemchange中回发一个值根据值过滤grid列不就可以了,很简单的呈啊
      

  21.   

    里面内容都一样,都是表中的字段名,选什么字段名就显示什么字段,任意显示两列或两列以上,只是为了让浏览者可同时看多个自选的字段,而不用像任选一个那样每次只能看到一个自选的,当要看另一个自选的时,又要再点击dropdownlist还是希望在datagrid页眉上用多个dropdownlist解决,这样外观比较好,.
    当点击dropdownlist改时,代替的字段也能在点击的这一列显示,而不跑到其他位置次序
      

  22.   

    比如:下面的datagrid
    ----------------------------------
    | id  |  name  |  sex |  didian  |
    ----------------------------------  
    | 1   |  张三  |  男  |   广东   |
    ----------------------------------
    | 2   |  李四  |  男  |   北京   |
    ----------------------------------
    | 3   |  王五  |  女  |   山东   | 
    ----------------------------------
    其中,sex和didian两列的页眉为dropdownlist,dropdownlist中包含一些字段名,如:sex,didian,
    rztime,age(年龄),job(职务)等;当点击sex列页眉的dropdownlist,选择job字段时,如果隐藏的job字段是在didian字段之后,那么job字段显示时,就会移到didian列后面,能不能显示时,让它的位置还是在原来的sex列位置处.
      

  23.   

    to  wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 具体代码该怎样写呢?