2015-01-12 33 views
0

我在尝试从我的表中获取datagridview中的特定列时出现错误。在我的表格的数据网格视图中设置列宽

这是我如何填充表----

public DataTable createGridForForm(int rows, int columns) 
     { 

      // Create the output table. 
      DataTable table = new DataTable(); 


        for (int i = 1; i <= columns; i++) 
      { 
       table.Columns.Add("column " + i.ToString()); 
      } 


      for (int i = 1; i < rows; i++) 
      { 
       DataRow dr = table.NewRow(); 
       // populate data row with values here 
       table.Rows.Add(dr); 
      }  

      return table; 
     } 

这里是如何创建的datagridview ------

private void createGridInForm(int rows, int columns) 
     { 

      DataGridView RunTimeCreatedDataGridView = new DataGridView(); 
      RunTimeCreatedDataGridView.DataSource = createGridForForm(rows, columns); 
      DataGridViewColumn ID_Column = RunTimeCreatedDataGridView.Columns[0]; 
     ID_Column.Width = 200; 

      int positionForTable = getLocationForTable(); 
      RunTimeCreatedDataGridView.Size = new Size(800, 200); 
      RunTimeCreatedDataGridView.Location = new Point(5, positionForTable); 
      myTabPage.Controls.Add(RunTimeCreatedDataGridView); 

     } 

我正的错误是,该指数超出范围。它可能不是负面的,必须小于尺寸。我想要做的是,我从文本文件中获取表格,然后在运行时我将其显示在我的表单中,但表格与我的数据网格视图大小不匹配,它看起来不像好。所以我想让表格适合数据网格视图。

+0

如果列0超出范围,则DGV必须是空的,这意味着数据表必须没有返回。我会在createGridForForm方法中添加一些断点来检查发生了什么。例如,如果您调用createGridForForm(1,1),则会添加一列,但会添加零行。 – OhBeWise

回答

0

试戴

DataGridViewColumn ID_Column = dataGridView1.Columns[0]; 
ID_Column.Width = 200; 
+0

不,它不起作用:(。错误是一样的----在mscorlib.dll中发生未处理的异常类型'System.ArgumentOutOfRangeException' – mynameiswhat

相关问题