7

現在、下部にグリッドがあるフォームを使用しています。f5を押すたびにグリッドが更新されますが、フォームの残りの部分は更新されません。フォーム全体でデータを更新するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

4

researchデータソースのメソッドをオーバーライドできます:

public void research(boolean _retainPosition = false)
{
    super(_retainPosition);
    other_ds.research(_retainPosition);
}

other_ds、現在のデータ ソースによって結合されていないデータ ソースです。

于 2012-10-04T08:48:02.683 に答える
3

作業しているフォームによって異なります。レコードで F5 キーを押すと、レコードが属するデータソースまたはその親データソースでメソッドが実行researchされます (フォームのクエリによって異なります。たとえば、SalesTable フォームの SalesLine で F5 キーを押すと、メソッドSalesTable_ds.research(true)が実行されます)。フォームの残りの部分にこれらのデータソースに属するフィールドが表示されている場合、これらのフィールドは更新されます。フィールドがこれらのデータソースに属していない場合、フォームの残りの部分は更新されません (たとえばactive、コードからフォームの残りの部分を更新するためにメソッドがオーバーライドされていない限り)。

F5 キーを押したときにフォーム全体のデータを更新するためにできること: 繰り返しますが、これはフォームに依存するため、すべての詳細を把握していないとアドバイスするのは困難ですが、できることの 1 つはresearchメソッドをオーバーライドすることです。データソースで、そこからプログラムでフォームの残りを更新します。メソッドをオーバーライドする方が一般的でありactive、通常はオーバーライドする必要があります。

于 2012-10-04T09:05:24.267 に答える