TypeObjectを使用したTable作成について

コメント

4件のコメント

  • 正式なコメント
    服部健太

    修飾子には1024文字までの長さ制限がありますので、Enumフィールドで数が多いものは作成できないかと思います。

    数の多い選択肢を定義したい場合は、例えば以下の方法がございます。

    (1) フィールドを1つも持たないEnumName型を定義する。

    (2) EnumName型のテーブルを作成し(例えば、テーブル名をenum_itemsとする)、そこに、Enumの要素をオブジェクト名(aaaやbbb, cccなど)として追加していく

    (3) 定義したい型オブジェクトにおいて、Enum型フィールドの代わりに、Object型フィールドを用いて、修飾子に、{"object": "./enum_items"} を指定する(enum_items テーブルと定義したい型オブジェクトが同じディレクトリにあると想定)。

    このようにすることで、enum_items に追加されたオブジェクト名が選択肢として表示されるようになります。

    以上、よろしくお願いいたします。

    コメントアクション Permalink
  • masato kato

    早速ご回答いただきありがとうございます。

    いただいた手順で実装したところ、enum_itemsに追加されたオブジェクト名が選択肢として表示されるようになりました。

    追加でもう1点お聞きしたいことがございます。

    enum_itemsテーブルに要素を追加する際、一気に要素を追加する方法として、Kompira APIを外部から繰り返し実行させる方法を検討しています。

    他に効率の良い、もしくはおすすめの方法がございましたら教えていただけないでしょうか。

    以上よろしくお願いいたします。

    0
    コメントアクション Permalink
  • 服部健太

    入力をどうするかにもよりますが、たとえば、ジョブフローから以下のように追加する方法があります。

    | items_text | # items_text パラメータに一行ずつ追加したいオブジェクト名を記述する

    { for item in items_text.splitlines() |
    { if item |
    [./enum_items.add: item]
    }
    }

    上記ジョブフローをフォーム型オブジェクトから呼び出すように設定して、items_text パラメータをLargeText型のフィールドにすれば、フォーム上からテキストを張り付けて、実行することも可能です。

    0
    コメントアクション Permalink
  • masato kato

    ご回答ありがとうございます。

    早速いただいた手順をもとに追加を実装し、フォーム上からテキストを貼り付けて実行させることができました。

    0
    コメントアクション Permalink

サインインしてコメントを残してください。