MessageBox.Show(this.dataGrid1.TableStyles[0].GridColumnStyles[1].Width.ToString(),"测试");上面的代码运行出错,提示超过索引

解决方案 »

  1.   

    DataGrid默认的是没有TableStyles的,你必须自己加入一个TableStyles到DataGrid中去
      

  2.   

    给你一个我写的实例方法:
    private void SetDataGridTableStyle()
    {
    DataGridTableStyle tableStyle = new DataGridTableStyle();
    tableStyle.MappingName = "XSJBXX";
    foreach(DataColumn column in this.studentDS.Tables[0].Columns)
    {
    if((column.ColumnName == "学号") || (column.ColumnName == "姓名") || (column.ColumnName == "专业名称") 
    || (column.ColumnName == "性别") || (column.ColumnName == "学制") || (column.ColumnName == "电子注册号"))
    {
    DataGridTextBoxColumn textColumn = new DataGridTextBoxColumn();
    textColumn.MappingName = column.ColumnName;
    textColumn.HeaderText = column.ColumnName;
    textColumn.Alignment = HorizontalAlignment.Center;
    if(column.ColumnName == "电子注册号")
    {
    textColumn.Width = 110;
    }
    else if(column.ColumnName == "学号")
    {
    textColumn.Width = 150;
    }
    tableStyle.GridColumnStyles.Add(textColumn);
    }
    }
    dataGrid1.TableStyles.Add(tableStyle);
    }
      

  3.   

    http://www.qq166.com/vip.htm?QQ=855965
      

  4.   

    http://www.qq166.com/vip.htm?QQ=998825