質問

グリッド内にネストされたウィンドウに画像アイコンを手動で入力しようとしています。

実行イベントでは、フィールドにはまだ値が設定されていないように見えます。文字列コントロールは常に空の値を返します。このコードにもっと適した場所はありますか?.NET では、データバインドされたイベントを使用します。AX に同等のものはありますか?

void run()
{
    FormStringControl s = element.control(control::ABC_Icons_FileName);
    FormWindowControl w = element.control(control::ABC_Window);
    ;
    w.imageName(s.valueStr());
    super();
}

ありがとう

役に立ちましたか?

解決

タスクを正しく理解していれば、グリッドの各行に画像を表示したいということですか?それから:

  1. form.init() で ImageList を作成します。

    imageList = new ImageList(ImageList::smallIconWidth(), ImageList::smallIconHeight();
    Image image = new Image();
    ;
    image.loadImage(filename)
    imageList.add(image);
    // ...
    image.loadImage(filename-n)
    imageList.add(image);
    

    ImageList は ClassDEclaration セクションで宣言する必要があります。

  2. グリッドの Window フィールドの AutoDaclaration プロパティを「Yes」に設定します。

  3. フォームの init() メソッドで window フィールドの ImageList を設定します。

    MyWindow.imageList(imageList);
    
  4. フォームで使用しているテーブルで表示メソッドを作成します。このようなもの:

    display int status()
    {
       if(this.amount > 10)
           return 5;  // 5th image from image list
       else
           return 6;
    }
    
    1. ウィンドウ コントロールのプロパティ DataSource および DataMethod を設定します。

      DataSource = dataMethod = status

さらに例が必要な場合は、フォーム ReqTransPo を参照してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top