数据绑定技巧データバインディングのテクニック
02月23rd, 2007 — Dreamer 02月23日、 2007 -ドリーマー 英文原文:《Data Binding Tip》英語のテキスト: "データバインディングのヒント"
原文地址:http://weblogs.macromedia.com/pent/archives/2007/02/data_binding_ti.cfm元の住所: http://weblogs.macromedia.com/pent/archives/2007/02/data_binding_ti.cfm
原文作者:Peter Entオリジナルの著者:ピーターent
译者:Dreamer。翻訳:ドリーマーです。 本文未经同意,谢绝转载。本稿では、同意せず、再版を拒否しています。
数据绑定技巧 データバインディングのテクニック
有一种简单的方法可以通过选中来激活/禁用控件。には、簡単な方法をアクティブに選択できるように/無効を制御します。 举个例子,假设你有一个DataGrid以及一些操作数据的按钮,这些按钮中有一些只能在选中某一行的时候才可以使用,另外一些按钮只能在没有选中的时候使用,还有一些只能在选中特定行的时候使用。たとえば、データグリッドをお持ちのデータだけでなくいくつかの操作を行のボタンをいくつか選択して利用することができる場合にのみ、およびいくつかのボタンをクリックしなかっただけでの使用を確認して、時間、いくつかの選択したときにのみ使用することの特定の企業です。
问题 問題
为了达到上述目的,你可能需要编写一些if语句或者使用数据绑定设定一个变量然后在代码里不断调整变量的值。これらの目的を達成するために、いくつかのことがありますif文を書く必要がまたは変数を使用してデータを結合されたコードを設定する、と入力し、変数の値を調整して継続します。 就像这样:このよう:
[Bindable] private var somethingSelected:Boolean = false; [連結]民間var somethingselected :ブール値=偽;
<mx:Button label=”Publish” click=”publishItem()” enabled=”{somethingSelected}” /> <mx:button label="publish" click="publishitem()" enabled="{somethingselected}" />
这是个不错的想法。これは良いアイデアです。 所有依赖于DataGrid的选中状态的控件都被绑定到了一个变量上。すべて選択した状態に依存して、 DataGridコントロールがバンドルされた変数を参照して下さい。 改变这个变量就改变了控件的活动状态。変数を変更しての活動を上にコントロールを変更して状態です。 然而,你仍然需要决定什么时候更改这个变量。しかし、まだ必要性を決定するときに、この変数を変更します。 例如:例えば:
private function publishItem() : void {プライベート関数publishitem ( ) :無効(
// get the selected item / /入手して選択された項目
// publish it / /公開すること
grid.selectedItem = -1; // clear the selection grid.selecteditem = -1 ; / /クリアして選択
somethingSelected = false; somethingselected =偽;
} )
让我们把事情变得复杂一点,假设当选中的一行中里包含一个特殊的值有一个按钮就会被激活。ご連絡物事を複雑な、という想定の下に選出さは、彼のパーティーなどの特別の値を活性化されるボタンをクリックします。 现在你就不只要注意变量somethingSelected了,还需要注意这个附加的检验。今すぐに注意を払うをお持ちでない場合somethingselectedの変数も注意を払う必要がある追加のテストします。 换句话说,在publishItem()函数里你还需要设定另外一个变量。言い換えれば、 publishitem ( )関数を、あなたも他の変数をセットアップする必要があります。 有越多的条件限制这个函数就会越复杂。ますます多くの条件を課すには、この機能はもっと複雑です。
一种较简单的方法 簡単な方法
这里有一种较简单的方法。ここでは、比較的簡単な方法です。 现在按钮已经绑定到了somethingSelected变量,剩下的就是将somethingSelected变量绑定到DataGrid的状态了。今すぐに同梱され、ボタンをクリックするsomethingselected変数とし、残りの変数は、 somethingselectedの状態を、データグリッドにバインドする。 你可以使用<mx:Binding>标签:タグを使用することができます<mx: binding> :
<mx:Binding source=” grid.selectedIndex >= 0 ” destination=”somethingSelected” /> <mx:binding source=" grid.selectedindex> = 0 "目的地= " somethingselected " / >
现在somethingSelected的值绑定到了DataGrid的选定状态上了。今すぐ上のDataGridにバンドルされsomethingselected値の状態を選択します。 选中某行somethingSelected的值会变为true,然后所有标签里有enabled=”{somethingSelected}”的标签都会被激活,所有标签里有enabled=”{!somethingSelected}”的按钮都会被禁用。 somethingselected値の列を選択するになるtrueの場合、その後のすべてのラベルには、有効になって= " ( somethingselected ) "のラベルを活性化されると、すべてのラベルには、有効になって= " ( ! somethingselected ) "ボタンをクリックするとことで無効にします。
Bingding标签的source不一定必须是变量。 5月には必ずしもbingdingラベルのソース変数です。 它可以是一个表达式,如下面所示。表現にすることができますに示すように、以下のとおり。 这里source就是一个简单的条件,判断DataGrid的selectedIndex是否大于等于0。ここでは、シンプルなソースの条件は、データグリッドのselectedIndexを0に等しいを超えるかどうかを判断します。
这里是一个稍微有点复杂的例子:ここでは、例として、もう少し複雑:
<mx:Binding source=” grid.selectedItem.code == 1 ” destination=”codeOnePicked” /> <mx:binding source=" grid.selecteditem.code == 1 "destination="codeonepicked" />
如果DataGrid的某条记录的某个域的值如果为1将会使变量codeOnePicked的值变为true。 DataGridの場合は、ドメインを記録した場合は、変数の値をcodeonepickedになるの値をtrueです。
<mx:CheckBox label=”Code One?” selected=”{codeOnePicked}” /> <mx:checkbox label="code one?" selected="{codeonepicked}" />
<mx:Button label=”Publish” enabled=” {somethingSelected && !codeOnePicked} ” /> <mx:button label="publish" enabled=" {somethingselected && !codeonepicked} "/>
在这里,只要DataGrid中被选择的记录code域为1,CheckBox就会被选中,同时按钮就会被禁用。ここでは、データグリッドに限り、選択されたレコードは、ドメインコード1 、チェックボックスを選択すると、ボタンをクリックするとことで無効にします。
总结 骨材
在你的程序中如果有控件依赖于选中状态或者其他UI的状态,可以尝试使用<mx:Binding>标签,它可以使代码干净,同时也更容易阅读和扩展。制御する過程に依存している場合は、選択した状態、またはその他のUIの状態は、 5月<mx: binding>ラベルを使用しようと、それを生かすことのできるコードの清潔度、だけでなく、より簡単に読み取りと拡大します。
本文链接: http://www.zhuoqun.net/html/y2007/440.html 转载请注明出处,谢谢。 このリンク: http://www.zhuoqun.net/html/y2007/440.html転載をご参考までに、よろしくお願いします。
TrackBack引用地址: http://www.zhuoqun.net/html/y2007/440.html/trackback トラックバック使用される住所: http://www.zhuoqun.net/html/y2007/440.html/trackback


