• ベストアンサー

VB.NET DataGridView 行の追加

VB2010 WinXPにて開発しています。 「DataGridView1.Rows.Add()」で行を追加すると入力行の上の行が追加されるのは何故でしょうか? 下らない質問かと思いますが、行き詰まってます。 分かる方がいましたら、教えて下さい。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

入力行はデータ行ではないから。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • DataGridViewの行追加について。

    初めまして、VB初心者ですが皆様よろしくお願いいたします。 今、VB2005でDataGridViewを使用した入力システムを作成しています。 1~10行目まで入力したデータに対して、5行目に新規行を追加したいのですが。 この場合、現在入力されている5~10行目のデータを、6~11行目に退避した後 「DataGridView1.Rows.Add(DataGridView1.Focus」で5行目に新規行を追加すればいいのでしょうか? うまくいかず悩んでいます。 ご教授よろしくお願いいたします。

  • datagridviewに行追加し、値を入れたいです。VB.NET 

    'データグリッドの選択された値を変数frowに代入する。 frow = DataGridView1.SelectedCells.Item(0).Value 'データグリッドの選択された値を変数srowに代入する。 srow = DataGridView1.SelectedCells.Item(1).Value 'データグリッドに新しい行を追加する。 KYU70000_1.DataGridView1.Rows.Add(DataGridView1.Rows) KYU70000_1.DataGridView1.Rows.Add(DataGridView1.Rows) '選択された値をKYU70000_1のデータグリッドに代入する。 frow = KYU70000_1.DataGridView1.SelectedCells.Item(0).Value ←ここがインデックスが範囲を超えています、となります。 srow = KYU70000_1.DataGridView1.SelectedCells.Item(1).Value どうすれば良いのでしょうか?教えてください。意味が分かりません。

  • DataGridViewへの新規行追加について(VB2008)

    VB2008ExpressEdition,DBはAccess2003の環境にて小規模な業務アプリの開発を行っている者です。 VBを使用してまだ2週間足らずですので、初歩的な質問かもしれませんが、よろしくお願いします。 テーブルの内容を明細表示し、登録ボタンを押すとDB更新を 行うような簡単なマスタメンテナンス画面があるとします。 明細表示のため、フォーム上にDataGridViewを作成、 DataSouceプロパティを指定し、型付きDataSetをBindさせました。 AllowUserToAddRowsプロパティはTrueとし、DataGridView上への 新規行追加も可能としてあります。 このとき、プログラムを動作させ複数行新規追加を行うと、 2行目の行追加のタイミングで、 「データの登録時にエラーが発生しました。 列「〇〇」は一意であるように制約されています。 値〇は既に存在します。」 というエラーになってしまい、行追加が1行以上行えません。 新規行追加時、エラー対象とされている列はDefault値Nullと なっており、その値Nullの行を複数作成する操作なので キー重複でこのようなエラーとなっているかと思いますが、 自分としてはこのようなエラーを出さず、 画面上では明細を複数行新規追加を可能としたいのです。 (キー値は最終的に更新時にマスタから値を取得、採番してカラムにセットし登録する。 また、キー重複チェックも後でロジックを組んで行う。) このエラーチェックを行わないようにする設定、 もしくは回避方法等ありますでしょうか?

  • DataGridViewのデータをComboBoxの項目に追加する

    回答お願い致します。 現在、VB2005を勉強していてDataGridViewを学んでいます。 DataGridViewの項目に(教員番号,教員名)とあるとして、教員名のデータをComboBoxの項目に追加したいと考えています。 普通に項目を追加するのなら、 For intLoop = 0 To DataGridView.Rows.Count - 1 ComboBox.Items.Add(DataGridView.Rows(intLoop).Cells (1).Value) Next といった感じで出来るのですが、これだと教員名が重複している場合も全てComboBoxに項目を追加してしまうので、それを避けて項目を追加する良い方法はないでしょうか?

  • DataGridViewで教えてください。

    DataGridViewで教えてください。 VB初心者ですが どうかよろしくお願いいたします。 VB2005で DataGirdView(dgv1)の始めの行を 他のDataGridView(dgv2)に追加したいのですが、 うまくいきません。 どうすればよいのでしょうか? すみませんが、 教えてください。 よろしくお願いします。 Dim Table As DataTable Dim MainTable As DataTable Dim row As DataRow Table = DirectCast(dgv1.DataSource, DataTable) MainTable = DirectCast(dgv2.DataSource, DataTable) row = MainTable.NewRow row = Table.Rows(0) MainTable.Rows.Add(row)

  • C# .NET DataGridView の行を追加するとデータが消える。

    すぐ下に先ほど書いた質問がありますが、こちらに難点か追記してあります。下の質問は後ほど消します。(何でか、今現在消せないそうなので。) 環境 WindowsXP SP2 VisualStudio.NET 2005 C# テストプログラムで、こんなコードを書きました。 private void button1_Click(object sender, EventArgs e) { int iMaxCnt; dataGridView1.Rows.Add(1); iMaxCnt = dataGridView1.RowCount ; dataGridView1.EndEdit(); dataGridView1.Rows[iMaxCnt-1].Cells[0].Value = "たちつてと"; dataGridView1.Rows[iMaxCnt-1].Cells[1].Value = "なにぬめの"; dataGridView1.Rows[iMaxCnt-1].Cells[2].Value = "はひふへほ"; dataGridView1.EndEdit(); } ボタンのクリックイベントなので、これを何度か実行すると、DataGridView の一番下の行だけにデータが表示されてしまいます。(以前のボタン押下時に記入されたデータが消えてしまい、データの変更が確定されていないように見えます。) なぜなんでしょう?

  • DataGridViewのRowsにメソッド追加

    VB2013で、DataGridViewのRowsコレクションに独自のメソッドを追加することは可能でしょうか。 Inherits System.Windows.Forms.DataGridViewで継承してメソッドを追加するだけでは DataGridView.XXXといった形式になってしまうので・・・。 よろしくお願いいたします。

  • データグリッドビューの一番最初の行に列を追加したい

    お世話になっています。 VB2005です。 タイトル通りなのですが、DataGridViewの一番最初の列(0列目)に列を追加したいのです。 DataGridView1.Columns.Add() では一番最後の行に追加されてしまいます。 ヘルプやネット上を見てもわからず・・・ どなたかご存じの方教えてください。

  • VBのDATAGRIDVIEWについて

    環境VB.net 初心者です。教えていただきたのですが Datagridviewを使用しループ処理で全行の単価セル内に数字の0を追加したいのですが1行目のセルのみ値が追加されません。(2行以降は全て追加されます)コードは下記の通りです。 For CNT = 0 To マスタテーブルCNT マスタテーブルdatagridview("単価", CNT).Value = 0 Next ご教授お願いします。

  • VB2010のDataGridViewについて

    VB初心者です。 VisualBasic2010のDataGridViewの表示についての質問です。 DataGridViewは通常、行単位でデータを管理する形式になっていますが、 行と列を逆にして操作したいのです。 古いバージョンのVBではコントロール右上のマークをクリックするとタスクが出てきてそこで設定できるようなのですが、VB2010ではタスクの中の操作がなくなっています。 もし、VB2010でも設定する方法があるのでしたら教えてください。 古いバージョンのVBで行と列の入れ換えを行っているサイトがあるので参考までに↓ http://d.hatena.ne.jp/Yamaki/20091214/1260767140