2

2つのグリッドがあり、ボタンをクリックすると、アイテムがグリッド1からグリッド2に移動します。別のボタンを押すと、選択したアイテムがグリッド2から削除されます。

次を使用して、行を画面から削除します。

THIS-OBJECT:ultraGrid2:ActiveRow:Delete().

ただし、これは保存され、一時テーブルから削除されていないため、この行は引き続き表示されます。一時テーブルはselectedFormulaと呼ばれます。私はもう試した:

DELETE FROM selectedFormula WHERE ultraGrid2 = ultraGrid2:ActiveRow.

ただし、「ultraGrid2=ultraGrid2」の後で理解できません」というエラーメッセージが表示されます。ABLを使用して進行中の一時テーブルからアイテムを削除する方法を知っている人はいますか?

どんな助けでもありがたいです。

4

1 に答える 1

4

UltraGrid2のアクティブな行から一意のキーを取得する必要があります。そのキーを使用して、一時テーブルでレコードを見つけ、このように削除します。

FIND selectedFormula 
    WHERE selectedFormula.[key field] = [key from UltraGrid2]
    NO-ERROR.
IF AVAIL selectedFormula THEN
  DELETE selectedFormula.

注:キーは、テーブルの一時テーブルの定義とデータに応じて、多くのフィールドにすることができます。

于 2012-12-20T22:25:58.580 に答える