掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridViewに関して (ID:148117)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
教えて下さい。 以下のように記述し、GRD_入力(DataGridView)で2列目の項目がダブルクリックされた場合、別画面から番号を 取得し、それを最終行に追加するというような事を行っています。 その際に、次々に追加する場合は問題なく最終行に追加されますが、例えば3行目の入力する際に、1行目 をクリックした後に3行目をダブルクリックし、その後同じ事をすると3行目が空白となり、4行目にデータが表示 されてしまいます。 純粋にどのような形であっても最終行にデータを表示させる場合はどのような記述をすれば良いでしょうか? 教えて頂ければ幸いです。 よろしくお願いします。 Private Sub GRD_入力_CellDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles GRD_入力.CellDoubleClick Dim C_Row As String Dim C_Col As String Dim C_Val As String C_Row = GRD_入力.CurrentCell.RowIndex C_Col = GRD_入力.CurrentCell.ColumnIndex C_Val = GRD_入力.CurrentCell.Value.ToString() '2列目に入力があった場合のみ処理を行う If C_Col = 1 Then Dim frm_品目マスタ As New 品目マスタ検索 frm_品目マスタ.ShowDialog() Dim PIN_番号 As String Dim Connection As New OracleConnection Dim Command As OracleCommand Dim DataReader As OracleDataReader PIN_番号 = frm_品目マスタ.Kekka '結果プロパティから Dim DIN_番号 As String DIN_番号 = GRD_入力.CurrentCell.Value.ToString() If DIN_番号 <> "" Then Return Exit Sub End If frm_品目マスタ.Dispose() frm_品目マスタ = Nothing 'Oracleへのコネクションの確立 Connection.ConnectionString = "User Id=XXXXXX; Password=999999; Data Source=XE" 'オープン Connection.Open() 'コマンド作成 Command = Connection.CreateCommand If PIN_番号 <> "" Then 'SQL作成 Command.CommandText = "SELECT * FROM T_品目マスタ WHERE 番号 = '" + PIN_番号 + "'" 'データリーダーにデータ取得 DataReader = Command.ExecuteReader 'データを全件出力 Do Until Not DataReader.Read If IsDBNull(DataReader.Item("番号")) Then KIN_番号 = "" Else KIN_番号 = DataReader.Item("番号").ToString End If If IsDBNull(DataReader.Item("名称")) Then KIN_名称 = "" Else KIN_名称 = DataReader.Item("名称").ToString End If Loop DataReader.Close() Dim data_row As DataRow = dtTable.NewRow() lngRet = dtTable.Rows.Count() data_row("番号") = KIN_番号 data_row("名称") = KIN_名称 dtTable.Rows.Add(data_row) End If 'DataGridViewの最終行を非表示にする GRD_入力.AllowUserToAddRows = False End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.