• ベストアンサー

DataGridViewのRowsにメソッド追加

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

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

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1
popporunga
質問者

お礼

ご回答ありがとうございます。 VB2008から提供された機能のようですね。

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

関連するQ&A

  • DataGridViewの行追加について。

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

  • C# datagridviewの使い方

    vs community2017 ver15.1でC#を独学しています。 親フォームで取得したデータを子フォームにあるdatagridviewで表示させたいのですが、うまくいきません。 子formのdesigner.csでstaticをpublicにしています。 public System.Windows.Forms.DataGridView dataGridView1; public System.Windows.Forms.DataGridViewTextBoxColumn Column1; public System.Windows.Forms.DataGridViewTextBoxColumn Column2; public System.Windows.Forms.DataGridViewTextBoxColumn Column3; public System.Windows.Forms.DataGridViewTextBoxColumn Column4; 親formのcsファイルで以下のように使用しています。 Form2 kofm = new Form2(); kofm.dataGridView1[0, 0].Value = "aaa"; kofm.StartPosition = FormStartPosition.CenterScreen; kofm.ShowDialog(); これで実行すると、以下のエラーになります。 System.ArgumentOutOfRangeException が発生しました HResult=0x80131502 Message=インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 親フォームのボタンをクリックし、子フォームのdatagridviewに表示させるにはどのようにすればよろしいのでしょうか? 教えてください。 よろしくお願いします。

  • VB.NET DataGridView 行の追加

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

  • 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で1行全てを選択状態にするには

    VB.NETのDataGridViewについての質問です。 DataGridViewでセルを選択した時に、そのセルの行を全て選択したいのですが、その方法がわからず困っています。 単純な方法を試してみたのですが Private Sub DataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView.CellClick DataGridView.CurrentCell = DataGridView.Rows(e.RowIndex).Cells(-1) End Sub この方法ですと、Cells(-1)の所で境界外となって上手くいかないようです。 何か良い方法がありましたら、ご教授願います

  • VB2005 DataGridViewのClipbordCopyについて

    こんにちは。 VB2005のDataGridViewに表示されている全てのセルをヘッダーも含めてClipbordにコピーしたいのですが、 どのように行えばよろしいでしょうか? MSDNには、 http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridview.clipboardcopymode.aspx のサンプルがありますがアクティブなセルしか取得できません。 ご教授のほどよろしくお願いします。

  • 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)

  • datagridviewでたまに例外・・

    モジュールからフォームの関数を呼び出し時にたまに以下の例外が発生しており、 なぜ例外が発生するのか原因がわからず困っています。 オブジェクト参照がオブジェクト インスタンスに設定されていません。 場所 System.Windows.Forms.DataGridViewIntLinkedList.Remove(Int32 integer) 場所 System.Windows.Forms.DataGridView.SetSelectedRowCore(Int32 rowIndex, Boolean selected) 場所 System.Windows.Forms.DataGridView.ClearSelection() 場所 System.Windows.Forms.DataGridView.set_SelectionMode(DataGridViewSelectionMode value) 以下のようなフォームがありgridset()はタイマーで動いているモジュールの関数より呼び出されます。 Public Class frmTest Private Sub frmTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load gFrmTest = Me End Sub Public Function gridset() dataGridView1.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect ☆例外発生箇所    ・    ・ End Function End Class Module Modtest //以下はタイマーで何回も呼ばれる関数 Public Function aaa() As Integer gfrmTest.gridset() End Function End Module 環境はvb.net 2008です。 ご教示いただけますと助かります。 よろしくお願いします。

  • VSFlexGridをDataGridViewへ

    VB6でコーディングされたソースを VB2005 に移行しております。 VB6 では GrapeCity社の VSFlexGrid8 を使用していたのですが、 VB2005 ではDataGridView を使用する予定です。 VB2005で作成した画面のDataGridViewはVSFlexGrid1 という名称に変更し、 VB6 の If Trim(VSFlexGrid1.Cells(flexcpText, Row, Col, Row, Col) = "" Then を If VSFlexGrid1.Rows(Row).Cells(Col).Value.ToString.Trim() = "" Then のように書き換えたのですが、下記エラーがコンパイルエラーが出てしまい、 直し方がわかりません。 エラー 11 縮小変換しないで呼び出される、アクセス可能な 'Item' がないため、オーバーロードの解決に失敗しました: 'Public Default Property Item(columnName As String) As System.Windows.Forms.DataGridViewCell': パラメータ 'columnName' と一致する引数は 'Long' から 'String' へ縮小変換します。 'Public Default Property Item(index As Integer) As System.Windows.Forms.DataGridViewCell': パラメータ 'index' と一致する引数は 'Long' から 'Integer' へ縮小変換します。 同一プロシージャ内で上記エラー箇所の5~6行前では以下の書き換えができています。 VSFlexGrid1.cell(flexcptext, Row + 1, OGRDNO_INSAMOUNT) = Format(TL_INSAMOUNT, "###,###,###") + Chr(&HD)                         ↓ VSFlexGrid1.Rows(Row).Cells(10 + OGRDNO_INSAMOUNT).Value = Format(TL_INSAMOUNT, "###,###,###") 恐らく、かなり初歩的な事だとは思うのですが、 お分かりの方、よろしくお願いします。

  • プロパティウィンドウのプロパティを非表示にするには?

    Inherits System.Windows.Forms.Button を継承してサイズや色を設定しています。 デザイナで貼り付けたあとサイズや色のプロパティが 変更できてしまうのですが、このプロパティを 非表示にする事は可能でしょうか? 使用環境はVB 2005です。