. てやんでい!職人気質 ブースターテクノロジー Webシステム開発 . .

08年05月

actionscriptでデータバインディング(その2)

単純なデータバインディングをスクリプトで実現するには、

BindingUtils.bindProperty(grid, "dataProvider", model, "collection");

でOK。
ただし、複雑なデータバインディングをしたい場合、これだと無理。
複数フィールドの合計値を1つのフィールドに出したい場合とか。

で、似たメソッドで、『bindSetter』を使えば、いろいろできた。

BindingUtils.bindSetter(setAmount, view.amount1, "text");
BindingUtils.bindSetter(setAmount, view.amount2, "text");
BindingUtils.bindSetter(setAmount, view.amount3, "text");

view.amount1、view.amount2、view.amount3 フィールドのtextプロパティが変更された際、setAmount 関数を呼びなさい、という意味。
setAmount の中で合計値の処理をした。
いや~、よかった、よかった。

--
2008年05月30日


Flex でカーソルをセット

何かのマウスオーバーイベントで、特定の画像をカーソルにセットしたい。

[カーソルをセット]
[Embed(source="assets/updown.png")]
private var updownCursor:Class;

であらかじめ定義しておいて、
cursorID = CursorManager.setCursor( updownCursor, CursorManagerPriority.MEDIUM, -5, -14 );

3番目の引数がXのオフセット、4番目の引数が、Yのオフセット。

[元に戻す場合]
CursorManager.removeCursor(cursorID);

--
2008年05月29日


SEO競合調査ツール

■SEO競合調査ツール
※Flex + PHP + MySQL
Flexを使った調査対象サイトの動向を監視するツール
開発期間:2週間。

--
2008年05月27日


医療用支援システム

■医療用支援システム
※Flex + Java + MySQL
Flexを使って測定値を複数のグラフで表示。
開発期間:2週間。

--
2008年05月27日


ぴあぴあマッピング

■ぴあぴあマッピング
※Flex + PHP
Flexを使ったマインドマッピングツール。
各種APIを使った検索結果も表示する。
開発期間:1ヶ月。

--
2008年05月27日


人材判定システム

■人材判定システム
※Flex + PHP + MySQL
Flexを使った人材判定システム。
診断結果を表示する画面や、
IDや登録状況などを管理する管理画面込み。
開発期間:4ヶ月。

--
2008年05月27日


コンテンツ管理システム

■コンテンツ管理システム
※Flex + PHP + MySQL
Flexを使ったコンテンツ管理システム。
カテゴリ別に登録し、検索可。
ID等を管理する管理画面込み。
開発期間:1ヶ月。

--
2008年05月27日


中古車検索サイト

■中古車検索サイト
※HTML + Javascript + PHP
Ajaxを使った中古車検索システム。
販売状況、在庫状況を見る管理画面込み。
開発期間:2ヶ月。

--
2008年05月27日


旅行検索サイト

■旅行検索サイト
※Flex + PHP + MySQL
Flexを使った旅行検索サイト。
各種APIを使って、条件にあった旅行プランを検索。
開発期間:3ヶ月。

--
2008年05月27日


在庫管理システム

■在庫管理システム
※Flex + Java + MySQL
Flexを使った在庫管理システム。
登録状況、販売状況、在庫状況などを管理。
開発期間:2ヶ月。

--
2008年05月27日


Tシャツ受注システム

■Tシャツ受注システム
※HTML + Javascript + PHP
PCと携帯からTシャツ受注。
管理画面にて注文を管理。
開発期間:1ヶ月。

--
2008年05月27日


actionscriptでデータバインディング

例えば、FlexのDataGridのdataProviderを、

grid.dataProvider = model.collection;

とやってもデータバインディングにはならず、ただ値がセットされるだけ。

■方法として、BindingUtilsを使えばOK。
定義するクラスは、
import mx.binding.utils.BindingUtils;
import mx.binding.utils.ChangeWatcher;

で、
var watcher = BindingUtils.bindProperty(grid, "dataProvider", model, "collection");

■データバインディングを解消するには、
watcher.unwatch();

でOK。

--
2008年05月16日


FlexでTabキー以外のフォーカス移動
例えば、TextInputがたくさんあるようなFlexの入力画面で、 Tabキーによる移動だけでなく、Enterキーでも移動したい!という場合。
/**
 * 次のタブへ移動
 */
public function nextInput( e:KeyboardEvent):void
{
    //enterが押された場合
    if (e.keyCode == 13)
    {
        //次の項目にフォーカスを移動
        this.focusManager.getNextFocusManagerComponent().setFocus();
    }
}
ビューからフォーカスを取得し、次の項目を取得し、フォーカスをセット。

--
2008年05月14日


Apache2が起動できない

Apache1.3系とApache2.2系がインストールされているWindowsXPでApache2が起動できない。当然2重起動はない。
なぜ?

そこである記憶がよみがえった。
『Skype起動してるとApacheがあがらない』というフレーズ。
そういえば誰かいってたな。

Skype止める ⇒ Apache2起動 ⇒ OK!

Skypeの詳細設定で
『上記のポートに代わり、ポート80を使用』がデフォルトで『チェック』になっているので80番がバッティングしていた。
このチェックは外しておこう。

--
2008年05月08日