- OpenLaszlo紹介
- プログラム構造関連
- スクリプト
- Javascript基礎
- 基礎知識
- ビュー<view>
- レイアウト
- 動かす
- 入力デバイス
- 文字
- 数値
- 日付
- オブジェクト指向
- 標準コンポーネント
- データの扱い
- データ操作(基礎)
- 応用編
–
データの削除は下記の二通りのアプローチがあります。
下から順番に消えていきます。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee" debug="true"> <dataset name="ds"> <d n="織田信長"/> <d n="豊臣秀吉"/> <d n="徳川家康"/> <d n="武田信玄"/> <d n="上杉謙信"/> <d n="毛利元就"/> <d n="今川義元"/> </dataset> <simplelayout/> <button>removeChild() <handler name="onclick"> var dp = ds.getPointer(); dp.p.removeChild(dp.p.getLastChild()); Debug.write(ds.serialize()); </handler> </button> <text datapath="ds:/d/@n"/> </canvas>
上から順番に消えていきます。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee" debug="true"> <dataset name="ds"> <d n="織田信長"/> <d n="豊臣秀吉"/> <d n="徳川家康"/> <d n="武田信玄"/> <d n="上杉謙信"/> <d n="毛利元就"/> <d n="今川義元"/> </dataset> <simplelayout/> <button>deleteNode() <handler name="onclick"> var dp = ds.getPointer(); dp.selectChild(); dp.deleteNode(); Debug.write(ds.serialize()); </handler> </button> <text datapath="ds:/d/@n"/> </canvas>
http://forum.openlaszlo.org/showthread.php?t=8978&highlight=removechildからのネタ。
setChildNodes([]) を使います。データセット内のXMLデータが空っぽになります。当然、そのデータセットにバインドしている<text>の表示データも同時に消えます。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <dataset name="ds"> <d n="織田信長"/> <d n="豊臣秀吉"/> <d n="徳川家康"/> <d n="武田信玄"/> <d n="上杉謙信"/> <d n="毛利元就"/> <d n="今川義元"/> </dataset> <simplelayout/> <button>全データ削除 <handler name="onclick"> ds.setChildNodes([]); </handler> </button> <text datapath="ds:/d/@n"/> </canvas>