グリッド内のコンボボックス

コンボボックの値を別セルに入力

グリッド内にコンボボックスを入れた例。両者別々のデータセットを参照しています。コンボボックスで選んだ値を、同じ行の別のセルに自動入力しています。

サンプルアプリのアプリとしての良し悪しは別として(笑)。。

ただ、グリッド<grid>もコンボボックス<combobox>もOpenLaszlo標準コンポーネントではトップ3に入る(?)ぐらい重いので、あんまりデータ量が増えるとパフォーマンス的にとんでもないことになる気がします。そのへんご注意。

ソートしたときにコンボボックスがついていかないので、ソート可能のままにしたいならまだ調整必要。

この内容を表示するためには Adobe Flash Plugin が必要です。
(OpenLaszlo4.7.1/swf8)

<canvas proxied="false" bgcolor="0xeeeeee">
  <dataset name="ds1" >
    <root>
      <data name="織田信長" st=""/>
      <data name="豊臣秀吉" st=""/>
      <data name="徳川家康" st=""/>
      <data name="前田利家" st=""/>
      <data name="伊達政宗" st=""/>
    </root>
  </dataset>
  <dataset name="ds2" >
    <root>
      <data st="出社"/>
      <data st="休暇"/>
      <data st="出張"/>
    </root>
  </dataset>
  <grid datapath="ds1:/root"  shownitems="5">
    <gridcolumn text="選択" >
      <combobox datapath="." editable="false" >
        <textlistitem datapath="ds2:/root/data" text="$path{'@st'}" value="$path{'@st'}" />
        <handler name="onselect">
          this.datapath.setNodeAttribute("st", this.value);
        </handler>
      </combobox>
    </gridcolumn>
    <gridcolumn  text="氏名" >
      <text datapath="@name"/>
    </gridcolumn>
    <gridcolumn  text="勤務状況" >
      <text datapath="@st"/>
    </gridcolumn>
  </grid> 
</canvas>

Special thanx to Andre Bargull(OpenLaszlo User ML)

別セルの値でコンボボックス自動選択

別セルの値でコンボボックスを自動選択する例。ボタンを押すとコンボボックスの値が設定されます。もちろんコンボボックスで選択すると、セルの値も変わります。

これもソートしたときにコンボボックスがついていかないので注意。

この内容を表示するためには Adobe Flash Plugin が必要です。
(OpenLaszlo4.7.1/swf8)

<canvas proxied="false" bgcolor="0xeeeeee" >
  <dataset name="ds1">
    <root>
      <data name="データ1" st="区分1"/>
      <data name="データ2" st="区分2"/>
      <data name="データ3" st="区分3"/>
      <data name="データ4" st="区分2"/>
      <data name="データ5" st="区分1"/>
    </root>
  </dataset>
  <dataset name="ds2" >
    <root>
      <data st="区分1"/>
      <data st="区分2"/>
      <data st="区分3"/>
    </root>
  </dataset>
  <grid id="grid1" datapath="ds1:/root" shownitems="5">
    <attribute name="btnclicked" type="boolean" value="false"/>
    <gridcolumn name="gc" text="選択" >
      <combobox name="cb" datapath="." editable="false">
        <handler name="onbtnclicked" reference="grid1">
          this.selectItem(this.datapath.xpathQuery("@st"));
        </handler>
        <textlistitem datapath="ds2:/root/data" text="$path{'@st'}" value="$path{'@st'}" />
        <handler name="onselect">
          this.datapath.setNodeAttribute("st", this.value);
        </handler>
      </combobox>
    </gridcolumn>
    <gridcolumn text="氏名" >
      <text datapath="@name"/>
    </gridcolumn>
    <gridcolumn text="区分" >
      <text datapath="@st" />
    </gridcolumn>
  </grid>
  <button  y="150">コンボボックスを区分と同じ設定に
    <handler name="onclick">
      grid1.setAttribute('btnclicked',"true");
    </handler>
  </button>
</canvas>
combogrid.txt · 最終更新: 2010/04/19 17:00 by ason
Copyright © 2008~ずっと ason(minamotonoason@gmail.com)

chuumap 中小企業ツイッターマップ 製造、加工、卸などB2B主体の個人事業者、中小企業のツイッターを、グーグルマップの住所の位置に正確に表示。
tentwi 店舗でツイート 飲食店、販売店など、一般消費者向けの店舗を構えるお店ツイッターを、グーグルマップの住所の位置に正確に表示。
廃句ったー あなたのツイッターの最近のツイートから廃句もとい俳句を生成。
みかけったー 超人気!あなたのツイッターの最近のツイートからみかけの年齢と性別を診断。
キキキーったー 最近のツイートからキーの使用回数をしらべます。
SLOTTER(すろったー) あなたのツイッターのタイムラインのアイコンでスロット。FLASHゲーム。
MultiLangTweet 一度に48ヶ国語に翻訳してツイート。
英訳ったー 英訳または日本語訳してツイート。
バンドメンバー募集サイト シンプルなバンドメンバー募集サイト。
CMS総合デモサイト 有名オープンソースCMS、EC、SNS、Wikiを一度に全部体験できる総合デモサイト
ビズロック BizRock(ビズロック)~音楽ライブでプレゼン!情熱型ビジネス交流会