flex DataGrid 后一列的值根据前一列的值改变
如图,如果我在控件类型这列选择了按钮,则对应的操作这列就是个combobox,里面有单击、双击等选项;如果我在控件类型这列选择了输入框,则对应的操作这列就是个文本输入框。...
如图,如果我在控件类型这列选择了按钮,则对应的操作这列就是个combobox,里面有单击、双击等选项;如果我在控件类型这列选择了输入框,则对应的操作这列就是个文本输入框。
求高手帮忙,在线等,QQ2580086774 展开
求高手帮忙,在线等,QQ2580086774 展开
2个回答
展开全部
你好:
你这个是个ItemRenderer对吧,很简单的说!你可以监听控件类型的Change事件,也就说如果Combobox改变类型你就switch判断一下,例如:选择是输入框,派发自定义事件到DataGrid外层
,然后外层判断如果是输入框 - 移除ItemRenderer 就好了
如果还有不懂的在问吧,其实你这个很简单 重点是引用第几列的ItemRenderer渲染器而已
你这个是个ItemRenderer对吧,很简单的说!你可以监听控件类型的Change事件,也就说如果Combobox改变类型你就switch判断一下,例如:选择是输入框,派发自定义事件到DataGrid外层
,然后外层判断如果是输入框 - 移除ItemRenderer 就好了
如果还有不懂的在问吧,其实你这个很简单 重点是引用第几列的ItemRenderer渲染器而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-18
展开全部
下拉框改变的时候,设置data的某一个标志
在操作列的render中覆盖data属性,根据这个标志创建不同的控件
在操作列的render中覆盖data属性,根据这个标志创建不同的控件
追问
这样做有两个问题:
1.控件类型这列中的Combobox的change事件中得不到操作列的render中的对象的控件,因为是动态创建的
2.每次在DataGrid中添加一条记录时,操作列就会动态的添加一个控件;就是说假如有3条记录,则第一行的操作列中有3个combobox,第二行有2个,第三行有1个;如果有4条记录的话,则第一行有4个combobox了
追答
针对你的两个问题:
1. 控件类型这一列,不需要得到操作列的控件。它只管改变数据中的标志字段。操作列在这个标志改变的时候做改变。
2. 没看明白你说的现象,是说操作列的一个格里就有4个下拉框?那只能说你的逻辑有问题了,你就没想到在动态添加控件之前,先把容器清空?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询