Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
datagridviewのセルのデータ書き換え
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30533#CommentId84153
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
伊右衛門
 (社会人)
投稿日時
2020/9/5 22:17:17
初めまして、質問よろしくお願いします。
ざっくり?書くと、親フォームから子フォームを呼び出し、孫フォームで修正後、子フォームのデータを書き換えたいです。
form1からbuttonでform2をshowdialogにて呼び出します。
form2にはdatagridviewが作成してあり、csvファイルからデータを読み込んで表示しています。
・セルのダブルクリックイベントからform3にデータを渡して表示させます
Private Sub DataGridView_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
'◇◇-- DataGridView1をダブルクリックすると呼び出されるイベント --◇◇
'◇- ヘッダー以外をダブルクリックしているか判定 -◇
If e.ColumnIndex >= 0 And e.RowIndex >= 0 Then
'◇- 編集画面表示 -◇
Dim Form_DAILY As New Form3
'◇- ダブルクリックされたデータを「編集画面」に表示させる -◇
Form_DAILY.TextBox1.Text = Trim(sender.Rows(e.RowIndex).Cells(0).Value)
Form_DAILY.TextBox2.Text = Trim(sender.Rows(e.RowIndex).Cells(1).Value)
Form_DAILY.ComboBox1.Text = Trim(sender.Rows(e.RowIndex).Cells(2).Value)
Form_DAILY.ComboBox2.Text = Trim(sender.Rows(e.RowIndex).Cells(3).Value)
Form_DAILY.TextBox5.Text = e.RowIndex
Form_DAILY.Button2.Visible = False
Form_DAILY.StartPosition = FormStartPosition.CenterScreen
Form_DAILY.ShowDialog(Me)
Form_DAILY.Dispose()
End If
End Sub
・form3で修正後、form2のdatagridviewを書き換えたいのですが、form2のrowcountもcolumncountも0になってしまい
「追加情報:インデックスが範囲を超えています。負でない値で…」のエラーが出てしまい書き換えることができません。
Form2.DataGridView1.Rows(CInt(TextBox5.Text)).Cells(0).Value = TextBox1.Text
Form2.DataGridView1.Rows(CInt(TextBox5.Text)).Cells(1).Value = TextBox2.Text
Form2.DataGridView1.Rows(CInt(TextBox5.Text)).Cells(2).Value = ComboBox1.Text
Form2.DataGridView1.Rows(CInt(TextBox5.Text)).Cells(3).Value = ComboBox2.Text
Me.Close()
このようなやり方で書き換えることはできないのでしょうか?
よろしくお願いします。