- - PR -
DBGridでクリックしたセルの内容を取得する方法を教えてください
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-08-23 09:36
こんにちは
現在、DBGridを使用してDBを更新しようと思っているのですが クリックしたセルの内容及び項目名をどうすれば取得できるかが 分からないのでSQL文を作成できません。 どなたかご教授をお願いします。 【使用環境】 Windows2000 VisualBasic .net 2003 True DBGrid トライアル版 SQLServer Version 5.0 【ソース】 Private Sub DBUpdate() Dim objConnect As New SqlClient.SqlConnection Dim objReader As SqlClient.SqlDataAdapter Dim objDataset As New DataSet Dim m_strsql As String = "" Try 'DBに接続 objConnect.ConnectionString = "********" objConnect.Open() 'SQL文を作成 'ここでm_strsqlにUPDATEするSQL文を入れたい 'データを抽出する objReader = New SqlClient.SqlDataAdapter(New SqlClient.SqlCommand(m_strsql, objConnect)) objReader.Fill(objDataset, m_strgamen) 'Datasetをxmlに出力 Dim clsxml As New clsWriteXml clsxml.Writexml(m_strgamen, objDataset) Catch ex As Exception 'エラー処理 End Try End Sub |
|
投稿日時: 2004-08-23 09:52
おはようございます。
さかもと、と申します。 @フォーム上にグリッドが表示されている Aそのグリッドをクリックした時に、そのレコードの項目を取得する ということで宜しいでしょうか? True DBGrid トライアル版 ?というものについては知識がないのですが VB.NET標準のデータグリッド(標準という呼び方も良いのか悪いのか分かりません・・・) では下記のように行っています。 ------------------------------------------------------- '/Gridを行選択モードにする(選択時に1行全部が選択される) '/これは選択時に見やすくしているだけです DBGridA.Select(DBGridA.CurrentRowIndex) '/例)選択されたレコードの「区分」と「コード」を変数へ代入 '数値0はそのグリッド上の一番左の項目 '数値1はそのグリッド上の左から2番目の項目 Kbn = DBGridA.Item(DBGridA.CurrentCell.RowNumber, 0) Code = DBGridA.Item(DBGridA.CurrentCell.RowNumber, 1) -------------------------------------------------------- 上記で取得した値を元にSQL文を作成しています。 見当違いならすいません。 |
|
投稿日時: 2004-08-23 10:33
返信ありがとうございます。
さかもとさんの助言を参考にコードを作ってみます。 |
|
投稿日時: 2004-08-23 11:12
さかもとさんの助言を参考にコードを組んでみたところ
変更後の値を取得することが出来ましたがどうしても DBのどの項目かを取得することができません。 すいませんがご教授お願いできますか。 【ソースコード】 Dim kbn As String = "" Dim atai As String = "" atai = Me.C1TrueDBGrid1.Item(Me.C1TrueDBGrid1.SelectedRows.Count,e.C1TrueDBGrid1.SelectedCols.Count) MsgBox("値:" & atai) ’ここで値を確認しました ちなみに画面は、DataGridと同じような感じになっています |
|
投稿日時: 2004-08-23 11:39
すいません
なぞが解けたので報告します まず、C1TrueDBGrid1_Changeイベントで m_row = Me.C1TrueDBGrid1.DestinationRow m_col = Me.C1TrueDBGrid1.DestinationCol を宣言しておいて C1TrueDBGrid1_AfterColUpdateイベントで Dim kbn As String = "" Dim atai As String = "" atai = Me.C1TrueDBGrid1.Item(m_row, m_col) kbn = Me.C1TrueDBGrid1.Columns.Item(m_col).ToString MsgBox("区分:" & kbn) MsgBox("値:" & atai) とすることで情報を取得できました。 どうもありがとうございました。 |
1