Visual C++での開発経験は2ヶ月のサマーです。よろしくおねがいします。
以下の問題が生じたので、わかるかたよろしくおねがいします。
[開発環境]
Windows XP
Visual C++ 2005
Micorsoft SQL Server
[質問]
データテーブルをデータグリッドに連結している場合に、選択中の行の
データテーブル上の行番号を取得するにはどうしたらよいでしょうか?
int iRow = dataGridView5->CurrentCell->RowIndex;
このようにした場合は、データグリッドの行番号が取得されますが、データグリッド
にはデータテーブルから選択的に表示しているため、かならずしもデータテーブルの
行番号と一致しません。以上よろしくおねがいします。
SELECTされたあとにもとのTABLEの何行目なのかを取得したいということでしょうか?
SELECTはたんなる「射影」なんで、そこらへんの情報をもっていなんじゃないかな。
「通し番号をもつ列」をTABLEに追加しないといけないような気がします。
(SQLで何とかなるかもしれませんが、それはVCの質問ではないような)
普通に考えたらデータグリッドがデータ行の番号を知っているわけは
ないのでDBに問い合わせるしかないのでは?
取得したデータの中でデータ行を特定できる情報がそろっているなら
それを使ってDBを検索する。(無いなら特定できるような情報が必要でしょう)
いずれにしてもVCの問題ではなくてデータベースの扱いに関する問題だと思います。
DBの扱いとかSQLについて勉強される事をお勧めします。
サマーです。
どうやら、データベースに通し番号を持つ以外方法がなさそうです。
ご迷惑かけました。