string sql = "select * from XSJL";
SQLHelper.ConnectionString = "data source=success;initial catalog=schoolmis;user id=sa;password=123;";
dataset = SQLHelper.ExecuteDataSet(CommandType.Text,sql,null);
dataGrid1.DataSource = dataset.Tables[0];DataGridTextBoxColumn dgtb = (DataGridTextBoxColumn)dataGrid1.TableStyles[0].GridColumnStyles[0];//出错的地方
------------------------
为什么会出错??索引超出范围

解决方案 »

  1.   

    TableStyles和GridColumnStyles都是你自己设置的,你设置了就有,没设置就没有
      

  2.   

    如果你希望都自己写代码来控制,那么应该new一个
    DataGridTextBoxColumn aaa = new DataGridTextBoxColumn();
    .....
    DataGridTableStyle bbb = new DataGridTableStyle();
    bbb.DataGridColumnStyles.Add(aaa);
    dataGrid1.TableStyles.Add(bbb);
      

  3.   

    在vs.net里,选中Form里的DataGrid1控件,看属性有一项叫tableStyle,点进去添加一个TableStyle,然后再看右边‘datagridTableStyel1属性’其中有一项GridColumnStyles,点进去那么这里就可以添加列了,有两种:dataGridTextBoxColumn和dataGridBoolColumn
    每一列都可以定义其样式以及绑定字段(mappingName)