-1

実装する機能があります:

PurchTable フォームでは、purchTable.purchstatus フィールドのように列挙型を使用するフォームの上にコンボックスを作成するように指示されます。

コンボボックスで上記の要素のいずれかをクリックすると、下のグリッドでそのデータのみを取得する必要があります。つまり、請求済みをクリックすると、購入ステータスが「請求済み」のレコードが表示されます。

このために、コンボボックスを作成し、selectionchange() のオーバーライドされたメソッド「selectionchange」コードを使用しました。

public int selectionChange()
{
    int ret;

 ret = super();
if(combobox.selection()==status::invoiced)
   {
  ... what will i have to write here to add range"invoiced" in the datasource 

  }



   if(combobox.selection()==status::All)
  {
 .  .. what will i have to write here to add range"invoiced" in the datasource 

 }

  }
4

2 に答える 2

4

このコード (AX2009 でテスト済み) を selectionChange() ハンドラーに使用できます。注: ComboBoxでは、列挙型の要素がエントリとして自動的に追加されるように、プロパティEnumTypeを(スクリーンショットを参照) に設定する必要があります。PurchStatus

このコードに関して質問がある場合は、遠慮なくコメントしてください...

public int selectionChange()
{
    int             ret;
    QueryBuildRange range;
    ;

    ret = super();
    range = SysQuery::findOrCreateRange(
        purchTable_DS.query().dataSourceTable(tablenum(PurchTable)),
        fieldnum(PurchTable, PurchStatus));
    range.value(queryValue(this.selection()));
    purchTable_DS.executeQuery();

    return ret;
}

ここに画像の説明を入力

于 2013-08-24T08:06:48.113 に答える
1

JAEEMantenimientoフィールドからフィルタリングしたいDataSource と呼ばれる Form と、 と呼ばTipoれるデータバインドされていないコンボボックスがあるとしFiltroTipoます。これは、コンボが選択を変更するときにフィルタリングする必要があるコードです。

// classDeclaration of the FORMULARIO!!
public class FormRun extends ObjectRun
{
    QueryBuildRange     qbrTipo;
}

// Form DATASOURCE (JAEEMantenimiento)
public void init()
{
    super();

    qbrTipo = JAEEMantenimiento_DS.queryBuildDataSource()
                    .addRange(fieldNum(JAEEMantenimiento, Tipo));
}

// Form DATASOURCE (JAEEMantenimiento)
public void executeQuery()
{
    qbrTipo.value(queryValue(FiltroTipo.selection()));

    super();
}

// COMBOBOX (FiltroTipo)
public boolean modified()
{
    boolean ret;

    ret = super();

    JAEEMantenimiento_DS.executeQuery();

    return ret;
}

これは AX 2012 のコードですが、2009 年には問題なく動作するはずです。

于 2013-08-23T15:40:59.523 に答える