2012-07-11 41 views
0

如何在winform應用程序中的datagridview中添加一行。在DataGridView中添加行(帶預定義列)

的情況是:

  • 我已經在Windows上形成一個電網
  • 網格的列是預定義的。 (這裏,我的意思是列索引,名稱, 標題文本和順序在運行時不可更改。)
  • 我需要在該網格中添加新行。

任何人,在這方面幫助我。我該怎麼做這個任務?

+0

datagridview.datasource = yourDataTabl;將新行添加到數據表中,然後重新綁定或將其添加到gridview – 2012-07-11 07:04:19

+0

如果您沒有數據源,那麼該怎麼辦?我的意思是,只想在網格中添加行並將其保存在應用程序關閉或包含網格的關閉中。 – 2012-07-11 07:07:12

+0

::檢查我的答案 – 2012-07-11 07:16:37

回答

1

剛剛嘗試這樣的 -

dataGridView1.Rows.Add(<col1 value>,<col2 value>,...) 

的參數將是您用於您的每一列的值。

編輯:

從其他意見以你的代碼,你可以簡單地使用它像這 -

myMainApplication.dgvBooksDetails.Rows.Add(objBook.ID, objBook.Title, objBook.Author, 
      objBook.Genre, objBook.Price, objBook.PublishDate, objBook.Description); 

編輯

在子表單,主要形式存儲實例 -

public MainForm _mainForm; 

在主要形式:

SubForm frm = new SubForm(); 
frm.MainForm = this; 
frm.Show(); 

然後填補數據網格,做這樣的 -

_mainForm.dgvBookDetails.Rows.Add(..... 

希望它能幫助!

+0

col1表示列名或ID?其列值爲 – 2012-07-11 07:14:10

+0

。如果您的列的類型爲「DataGridViewTextBoxColumn」,並且您的值爲「Hello World」,則語法爲'dataGridView1.Rows.Add(「Hello World」)... – 2012-07-11 07:16:26

+0

實際上它取決於數據gridview列的類型。您需要檢查所有的datagrid列類型並相應地在Add()函數中傳遞參數。 – 2012-07-11 07:17:24

0

簡單,加上該行中的數據表和源文件與您的datagridview這樣的綁定:

row = dtTable.NewRow(); 
///HereEnter the value in row 
dtTable.Rows.Add(row); 
dataGridView1.DataSource = dtTable; 

如果您要在不使用datasoruce添加行,那麼你必須使用DataGridViewRowCollection.Add方法:

0

添加NEWROW在你的數據表,並將其綁定正如我在上面留言 提到或做這樣

private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) 
     { 
      // Get all rows entered on each press of Enter. 
      var collection = this.dataGridView1.Rows; 
      string output = ""; 
      foreach (DataGridViewRow row in collection) 
      { 
      foreach (DataGridViewCell cell in row.Cells) 
      { 
       if (cell.Value != null) 
       { 
       output += cell.Value.ToString() + " "; 
       } 
      } 
      } 
      // Display. 
      this.Text = output; 
     } 
0

dataGridView1.Rows.Add(1)爲你做的把戲?

它應該增加如果您正在使用一個DataTable對象作爲數據源爲您DatagGridView對應的DataGridView

0

RowTemplate行,那麼我建議你使用綁定源。

BindingSource bs = new BindingSource(); 

bs.DataSource = DataTable; 

DataGridView1.DataSource = bs; 

現在將行添加到數據表中,如前所述。

使用此方法,對數據表所做的任何更改都會自動反映到您的GridView中。

相關問題