DataGridTableStyle ts = new DataGridTableStyle();
private void hideColumn()
{
    ts.MappingName = UserDataTable.TableName;
   
    DataGridTextBoxColumn UserNameCol = new DataGridTextBoxColumn();
    UserNameCol.MappingName = "字段标题";   
    UserNameCol.HeaderText  = "字段标题";
    ts.GridColumnStyles.Add( UserNameCol );
    ts.GridColumnStyles[0].Width = 0;
    dataGrid1.TableStyles.Add(ts);
}把宽度大于零就可以再显示出来.

解决方案 »

  1.   

    隐藏<->列宽=0
    显示<->列宽>0
    popcorn(米花) 的方法可行呀
      

  2.   

    我试验了一下怎么不行呢?它是所有的列都隐藏了,而不是隐藏某一列.我晕
    private void hideColumn(DataGrid dataGrid1,string UserDataTable,string fieldName,int fieldWidth)
    {
    DataGridTableStyle ts = new DataGridTableStyle();
             ts.MappingName = UserDataTable;         DataGridTextBoxColumn UserNameCol = new DataGridTextBoxColumn();
    UserNameCol.MappingName = fieldName;   
    UserNameCol.HeaderText  = fieldName;
    ts.GridColumnStyles.Add( UserNameCol ); fieldWidth=(fieldWidth < 0) ? fieldWidth=0:fieldWidth;

    ts.GridColumnStyles[0].Width = fieldWidth;
    dataGrid1.TableStyles.Add(ts);
    }
      

  3.   

    设置你要隐藏的列的Width为0
    如果要显示的话,Width设置为大于0
      

  4.   

    DataGridTableStyle ts=new DataGridTableStyle();
    ts.MappingName=ds.Tables["zztreco"].TableName;
    Grid1.TableStyles.Add(ts);
    ts.GridColumnStyles[0].Width=0;隐藏第一列