0

winformアプリケーションのdatagridviewに行を追加する方法。

シナリオは次のとおりです。

  • Windowsフォームに1つのグリッドがあります。
  • グリッドの列は事前に定義されています。(ここでは、列のインデックス、名前、ヘッダーテキスト、および順序は実行時に変更できないことを意味します。)
  • そのグリッドに新しい行を追加する必要があります。

誰でも、この点で私を助けてください。このタスクを実行するにはどうすればよいですか?

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

あなたdataGridView1.Rows.Add(1)のためにトリックをしませんか?

に対応する行を追加する必要RowTemplateがありますDataGridView

于 2012-07-11T07:20:17.333 に答える
0

単純に、データテーブルに行を追加し、次のようにソースをdatagridviewにバインドします。

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

datasoruceを使用せずに行を追加する場合は、DataGridViewRowCollection.Addメソッドを使用する必要があります。

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

DatagGridViewのデータソースとしてDataTableオブジェクトを使用している場合は、バインディングソースを使用することをお勧めします。

BindingSource bs = new BindingSource();

bs.DataSource = DataTable;

DataGridView1.DataSource = bs;

次に、前述のようにデータテーブルに行を追加します。

この方法を使用すると、データテーブルに加えられた変更はすべてGridViewに自動的に反映されます。

于 2012-07-11T07:54:33.930 に答える