0

如何在 winform 应用程序的 datagridview 中添加一行。

场景是:

  • 我在 Windows 窗体上有一个网格。
  • 网格的列是预先定义的。(在这里,我的意思是列索引、名称、标题文本和顺序在运行时不可更改。)
  • 我需要在该网格中添加新行。

任何人,在这方面帮助我。我该怎么做这个任务?

4

5 回答 5

2

试试这样 -

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(.....

希望能帮助到你!

于 2012-07-11T07:08:16.283 回答
0

如果您使用 DataTable 对象作为 DatagGridView 的数据源,那么我建议您使用绑定源。

BindingSource bs = new BindingSource();

bs.DataSource = DataTable;

DataGridView1.DataSource = bs;

现在如前所述将行添加到数据表中。

使用此方法,对数据表所做的任何更改都会自动反映在您的 GridView 中。

于 2012-07-11T07:54:33.930 回答
0

只需在数据表中添加行并将源与 datagridview 绑定,如下所示:

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

如果要在不使用数据源的情况下添加行,则必须使用DataGridViewRowCollection.Add方法:

于 2012-07-11T07:07:02.353 回答
0

在您的数据表中添加新行并按照我在上面的评论中提到的那样绑定它,或者这样做

 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;
        }
于 2012-07-11T07:13:28.590 回答
0

dataGridView1.Rows.Add(1)适合你吗?

它应该添加对应于RowTemplate的行DataGridView

于 2012-07-11T07:20:17.333 回答