
VB2005の勉強をしている者です。
いろいろ調べたのですが、どうしてもわからないことがあるので、
教えてください。
現在行なおうとしているこは、
DataGridViewで選択されている行のデータ全てを、
他のフォームに渡すということです。
いろいろ考えた結果、選択された行のデータを配列に保持して、
その配列を別のフォームに渡せば
希望どおりの動きをすることはわかったのですが、
どうも無駄な処理をしてしまっている気がするんです。
例えば、選択した行のデータのみを、
新たに宣言したDataTableにコピーして、
そのDataTableを他のフォームに渡すというようなことは、
できないのでしょうか?
もしくは、
Form2.show(DataGridView1.CurrentRow)
のように、直接渡すことができれば、一番嬉しいのですが・・・
なにぶん、独学で勉強している初心者なので、
かなり的外れな質問になってしまっているかもしれませんが、
もしお分かりでしたら、アドバイスを下さい。
よろしくお願いします。

No.1ベストアンサー
- 回答日時:
元のデータテーブルのクローンを作る。
Dim dt2 As DataTable = 元のデータテーブル.Clone
クローンされたデータテーブルに、選択行のデータをインポートする。
dt2.ImportRow(元のデータテーブル.Rows(選択行のインデックス))
これで「選択した行のデータのみを、新たに宣言したDataTableにコピー」は出来ます。
直書きなので、コードに不備があるかもしれませんが、そこはご容赦下さい。
ご返答ありがとうございます。
クローンとかインポートとかはまるで考えていなかったので、
とても勉強になりました。
早速試してみます。
それと、
Form2.show(DataGridView1.CurrentRow)
のやり方は、自分なりにいろいろ調べてみて、
どうにかわかりました。
受け取る側で
Public Overloads Sub Show(ByVal DataRow As System.Windows.Forms.DataGridViewRow)
とするば、1行のデータのみを引き渡せました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
このQ&Aを見た人はこんなQ&Aも見ています
-
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
-
4
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
5
VB.net
Visual Basic(VBA)
-
6
CSVファイルの特定行の削除
Visual Basic(VBA)
-
7
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
8
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
9
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
10
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
11
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
12
値を返さないコード パス
Visual Basic(VBA)
-
13
C#でのForm間のデータ受け渡し、保存について。
C言語・C++・C#
-
14
DataGridView からの値取得に関して
Visual Basic(VBA)
-
15
C# DataGridViewで複数選択したセルに同じ値を一括で入力するには
C言語・C++・C#
-
16
[VB.net] DataGridViewの列ヘッダー複数行表示に伴う不具合?について
Visual Basic(VBA)
-
17
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
18
Visual Basic.NETの、Form 間での引数の引渡し方法を教えてください。
Visual Basic(VBA)
-
19
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
20
ASPで画面間のパラメタ受け渡し
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
二分探索の平均探索回数
-
【VBA】データを入力後に,同一...
-
Fortran カンマを含む数値デー...
-
Data(加算名詞、不可算名詞)に...
-
【エクセル】測定時間がバラバ...
-
カンマからスラッシュに
-
ビットシフトについて
-
VBA 空白セルを削除ではない方...
-
ユーザーフォームのテキストボ...
-
パースとはなんですか?
-
C# でDataTableの更新を高速化...
-
アクセス2000で画像データ...
-
多量のSUMIF式を軽くしたい
-
特定のデータの抽出方法を教え...
-
Excel VBAでのオートフィルター...
-
C#にてDropDownListの値を動的...
-
配列でデータが入っている要素...
-
winsock のrecvデータの終わり...
-
C#でデータのファイル保存と保...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
多量のSUMIF式を軽くしたい
-
配列でデータが入っている要素...
-
メモ帳(テキストデータ)をExc...
-
ユーザーフォームのテキストボ...
-
特定のデータの抽出方法を教え...
-
二分探索の平均探索回数
-
EXCELVBAでSQLserverからデータ...
-
Accessで該当データにフラグを...
-
VBA 空白セルを削除ではない方...
-
この行は既に別のテーブルに属...
-
Excel VBAでのオートフィルター...
-
[C言語] コメント文字列を無視...
-
エクセルで2つの時系列のデー...
-
アクセス2000で画像データ...
-
CString型の文字列連結について
-
カンマからスラッシュに
-
VBにおいてフォーム間の変数の...
-
<VB>String→Object
おすすめ情報