有一种简单的方法可以通过选中来激活/禁用控件。举个例子,假设你有一个DataGrid以及一些操作数据的按钮,这些按钮中有一些只能在选中某一行的时候才可以使用,另外一些按钮只能在没有选中的时候使用,还有一些只能在选中特定行的时候使用。
问题
为了达到上述目的,你可能需要编写一些if语句或者使用数据绑定设定一个变量然后在代码里不断调整变量的值。就像这样:
[Bindable] private var somethingSelected:Boolean = false;
<mx:Button label=”Publish” click=”publishItem()” enabled=”{somethingSelected}” />
这是个不错的想法。所有依赖于DataGrid的选中状态的控件都被绑定到了一个变量上。改变这个变量就改变了控件的活动状态。然而,你仍然需要决定什么时候更改这个变量。例如:
private function publishItem() : void {
// get the selected item
// publish it
grid.selectedItem = -1; // clear the selection
somethingSelected = false;
}
让我们把事情变得复杂一点,假设当选中的一行中里包含一个特殊的值有一个按钮就会被激活。现在你就不只要注意变量somethingSelected了,还需要注意这个附加的检验。换句话说,在publishItem()函数里你还需要设定另外一个变量。有越多的条件限制这个函数就会越复杂。
一种较简单的方法
这里有一种较简单的方法。现在按钮已经绑定到了somethingSelected变量,剩下的就是将somethingSelected变量绑定到DataGrid的状态了。你可以使用<mx:Binding>标签:
<mx:Binding source=”grid.selectedIndex >= 0” destination=”somethingSelected” />
现在somethingSelected的值绑定到了DataGrid的选定状态上了。选中某行somethingSelected的值会变为true,然后所有标签里有enabled=”{somethingSelected}”的标签都会被激活,所有标签里有enabled=”{!somethingSelected}”的按钮都会被禁用。
Bingding标签的source不一定必须是变量。它可以是一个表达式,如下面所示。这里source就是一个简单的条件,判断DataGrid的selectedIndex是否大于等于0。
这里是一个稍微有点复杂的例子:
<mx:Binding source=”grid.selectedItem.code == 1” destination=”codeOnePicked” />
如果DataGrid的某条记录的某个域的值如果为1将会使变量codeOnePicked的值变为true。
<mx:CheckBox label=”Code One?” selected=”{codeOnePicked}” />
<mx:Button label=”Publish” enabled=”{somethingSelected && !codeOnePicked}” />
在这里,只要DataGrid中被选择的记录code域为1,CheckBox就会被选中,同时按钮就会被禁用。
总结
在你的程序中如果有控件依赖于选中状态或者其他UI的状态,可以尝试使用<mx:Binding>标签,它可以使代码干净,同时也更容易阅读和扩展。
本文链接: http://www.zhuoqun.net/html/y2007/440.html
分享到:
相关推荐
GridView数据绑定小技巧 GridView 数据绑定小技巧
ASP.NET+2.0+数据绑定高级技巧.pdf 感觉还不错的说
主要介绍了WinForm中comboBox控件数据绑定实现方法,结合实例形式分析了WinForm实现comboBox控件数据绑定的常用方法与相关操作技巧,需要的朋友可以参考下
ASP.NET数据绑定基本技巧.wmv jjjjj
ASP.NET 2.0快速入门之ASP.NET 2.0 数据绑定高级技巧
ASP.NET 2.0 数据绑定的基本技巧
数据绑定的几个页及小技巧.rar数据绑定的几个页及小技巧.rar数据绑定的几个页及小技巧.rar
第一部分主要介绍最新的chart控件,包括图表的基本知识,图表的数据绑定技巧,导出数据系列数据,分割、合并与复制数据系列,为数据系列的数据点分组,为数据系列的数据点排序,搜索与筛选数据点,空数据点的处理...
ASP.NET 2.0快速入门(9):ASP.NET 2.0 数据绑定高级技巧
ASP.NET数据绑定GridView控件使用技巧.docx
ASP.NET 2.0快速入门(7):ASP.NET 2.0 数据绑定的基本技巧
C#学习笔记 据库找到某些记录,删除他们。 这些代码大部分十分相似,通常我们使用粘贴复 制来完成。但是这也经常导致一个问题,就是我 们会忘记修改数据表或者列的名称,或者对是否 是空数据表进行判定。为了避免
精彩编程与编程技巧-如何创建数据绑定控件 ...
读取网上XML数据,绑定到DataGrid(DataSet)实例 参考了MSDN和其他一些关于类似方面的资料。 代码没有太多的技巧,也没有很好的书写习惯, 只适合做简单的参考。 做法:抓取xml文件,绑定到datagrid。
本课介绍更高级的数据绑定技巧,不但把数据绑定在表示层,更通过使用架构的方法,来实现跨层数据绑定。 • 开始时间: 2005-11-7 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET ...
主要介绍了C#实现下拉框绑定list集合的方法,涉及C#中控件绑定的相关技巧,需要的朋友可以参考下