-1

select を使用してレコードを取得するデータウィンドウがあります。

私がやりたいことは、任意のレコードをクリックして新しいウィンドウ/データウィンドウを開いて、選択/クリックしたレコードに関する詳細情報を表示できるようにすることです。

私はPB8を初めて使用し、現在これに苦労しています。

正しい方向に私を導いてください、本当に感謝します。

乾杯。

4

2 に答える 2

1

OpenWithParm()またはOpenSheetWithParm( )を見て、データウィンドウ コントロール (ウィンドウ上) の Clicked イベント (DoubleClicked をお勧めしますが、それはあなたの設計です) からそれらのいずれかを呼び出します。

ディスクに収録されており、オンラインでも入手できるGetting Started Manualも参照してください。

幸運を、

テリー。

于 2013-09-09T15:23:39.120 に答える
1

あなたは PB を初めて使用するように思われるので、簡単なサンプルを使用して作業を開始してくださいテリーが提案したようにダブルクリックを検討するかもしれませんが、クリックしても機能します。

仮定:

  • データウィンドウ コントロール名はdw_customer_list です
  • 列の値 (キー) の名前は customer_id で、数値です
  • 開くウィンドウ名はw_customer_detailという名前です
  • 渡す値は数値です。それ以外の場合は、StringParm または PowerObjectParm を使用してください
  • mdi「シート」を使用している場合は、openwithparm の代わりに opensheetwithparm を検討してください

dw_customer_listのクリックされたイベントに、開いているウィンドウに表示したいもののキー値を取得するコードを追加します。文字列を使用する場合は、getitemnumber の代わりに getitemstring を使用します

double ld_custid

if IsNull(row) then return 0

if row > 0 and row <= RowCount() then
   ld_custid= this.GetItemNumber(row, 'customer_id')
   OpenWithParm(w_customer, ld_custid)
end if

そして、顧客を表示したいw_customer_detailで、このようなものをopen イベントに入れ、渡されたパラメーターを取得して何かを行います。退屈したときは、postopen イベントと、なぜそれが便利なのかについて読んでください。また、数値の代わりに文字列を渡す場合は、DoubleParm の代わりに Message.StringParm を使用してください。

double ld_custid

// grab the passed number parameter
if not IsNull(message.DoubleParm) then
   ld_custid= message.DoubleParm
   messagebox('Customer ID parameter:', string(ld_custid))
else
   // no parmameter!
   messagebox('Customer ID parameter:', 'was not passed to window')
end if
于 2013-09-20T04:09:40.767 に答える