messageLovFieldの挿入

messageLovFieldコンポーネントを挿入するには、次のようにします。

  1. 目的のファイルの設計構造ウィンドウで、messageLovFieldコンポーネントを挿入するノードを探します。
  2. コンポーネント・パレットのドロップダウン・リストから「Form Components」を選択し、messageLovFieldコンポーネントを、選択した親ノードにドラッグ・アンド・ドロップします。

    「messageLovField」ノードが、展開された親ノードに挿入され、強調表示されます。

  3. プロパティ・インスペクタで、messageLovFieldコンポーネントに対して次の属性を設定します。

注意: データ・バインディングを使用する場合には、「コンポーネントの属性のデータ・バインディング」を参照してください。

メッセージ属性の詳細は、「メッセージ・フォーム・コンポーネントに対するメッセージ属性の設定」を参照してください。メッセージ・フォーム・コンポーネントの他の一般的な属性の詳細は、「メッセージ・フォーム・コンポーネントに対する一般属性の設定」を参照してください。

注意: LOVを起動するコードを書き、返された結果を処理する必要があります(つまり、LOVからのデータをテキスト入力フィールドに送信して戻します)。

例(UIX XML)


Example 1:

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://xmlns.oracle.com/uix/controller"
      xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
      xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el"
      xmlns:ui="http://xmlns.oracle.com/uix/ui">
  <head>
    <html:title>Table LOV Test</html:title>
  </head>
  <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
                xmlns:data="http://xmlns.oracle.com/uix/ui">
    <switcher childName="${ui:defaulting(uix.pageProp.case, 'root')}" >
      <case name="root">
        <dataScope>
          <contents>
            <form name="form1">
              <contents>
                <script>
                  <contents>
                    function myCallBack(lovwin, event)
                    {
                      var value = lovwin.myData;
                      if (value!=(void 0))
                        document.form1[window.myData].value = value;
                    }
                    function tableLov(lovName)
                    {
                      window.myData = lovName;
                      openWindow(window,
                                 'table_Lov.uix?bajaPage=case=lov',
                                 'lovWindow',
                                 {width:350, height:75},
                                 true,
                                 'dialog',
                                 myCallBack);
                      return false;
                    }
                  </contents>
                </script>
                <table name="tab1">
                  <tableData>
                    <row name="Tim" age="21"/>
                    <row name="Kim" age="22"/>
                    <row name="Jae" age="23"/>
                  </tableData>
                  <contents>
                    <column>
                      <columnHeader>Name</columnHeader>
                      <contents>
                        <text text="${uix.current.name}"/>
                      </contents>
                    </column>
                    <column>
                      <columnHeader>Age</columnHeader>
                      <contents>
                        <text text="${uix.current.age}"/>
                      </contents>
                    </column>
                    <column>
                      <columnHeader>Occupation</columnHeader>
                      <contents>
                        <messageLovField name="occ"
                                         prompt="Select "
                                         onClick="${uix.data.lovJS.occ}"/>
                      </contents>
                    </column>
                  </contents>
                </table>
              </contents>
            </form>
          </contents>
          <provider>
            <data name="lovJS">
              <method class="oracle.cabo.servlet.demo.table.LOV" method="getLovJS"/>
            </data>
          </provider>
        </dataScope>
      </case>
      <case name="lov">
        <dataScope>
          <contents>
            <form name="form2">
              <contents>
                <script>
                  <contents>
                    function mySelect()
                    {
                      var choice = document.form2.ch1;
                      top.myData = choice.options[choice.selectedIndex].value;
                      top.close();
                    }
                  </contents>
                </script>
                <messageChoice name="ch1" prompt="Choose">
                  <contents childData="${uix.data.data1.occ}">
                    <option text="${uix.current.text}" value="${uix.current.text}"/>
                  </contents>
                  <end>
                    <flowLayout>
                      <contents>
                        <button text="Select" onClick="mySelect();" />
                        <button text="Cancel" onClick="top.close();" />
                      </contents>
                    </flowLayout>
                  </end>
                </messageChoice>
              </contents>
            </form>
          </contents>
          <provider>
            <data name="data1">
              <inline>
                <occ text="Engineer" />
                <occ text="Doctor" />
                <occ text="Teacher" />
                <occ text="Scientist" />
              </inline>
            </data>
          </provider>
        </dataScope>
      </case>
    </switcher>
  </ctrl:content>
</page>    

Example 2:

...
<form name="form1"
      destination="${ctrl:pageUrl(uix, 'lovFieldTest')}">
  <contents>
    <switcher  childName="${ui:defaulting(uix.pageProp.case, 'root')}">

      <case name="root">
        <flowLayout>
          <contents>
            <script>
              <contents>
                function myCallBack(lovwin, event)
                {
                   var value = lovwin.myData;
                   if (value!=(void 0))
                      document.form1.lov1.value = lovwin.myData;
                }
              </contents>
            </script>
            <messageLovField name="lov1"
                             prompt="Enter Color"
                             shortDesc="Click to select a color"
                             tip="Click flashlight for choices!"
                             onClick="openWindow(window,
                                                 'lovFieldTest.uix?bajaPage=case=lov',
                                                 'lovWindow',
                                                 {width:350, height:75},
                                                 true,
                                                 'dialog',
                                                 myCallBack);
                                       return false;" />
          </contents>
        </flowLayout>
      </case>

      <!-- LOV -->

      <case name="lov">
        <dataScope>
          <contents>
            <script>
              <contents>
                function mySelect()
                {
                  var choice = document.form1.ch1;
                  top.myData = choice.options[choice.selectedIndex].value;
                  top.close();
                }
              </contents>
            </script>

            <!-- contents of LOV -->

            <messageChoice name="ch1"
                           prompt="Choose">
              <contents childData="${uix.data.data1.color}">
                <option text="${uix.current.text}" value="${uix.current.text}"/>
              </contents>
              <end>
                <flowLayout>
                  <contents>
                    <button text="Select" onClick="mySelect();" />
                    <button text="Cancel" onClick="top.close();" />
                  </contents>
                </flowLayout>
              </end>
            </messageChoice>
          </contents>
          <provider>
            <data name="data1">
              <inline>
                <color text="Violet" />
                <color text="Indigo" />
                <color text="Blue" />
                <color text="Green" />
                <color text="Yellow" />
                <color text="Orange" />
                <color text="Red" />
              </inline>
            </data>
          </provider>
        </dataScope>
      </case>
    </switcher>
  </contents>
</form>    

messageLovFieldについて
メッセージ・フォーム・コンポーネントと属性について

メッセージ・フォーム・コンポーネントへの名前付きの子endの挿入
フォーム・コンポーネントの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.