2015-01-12 37 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

相關問題