zoukankan      html  css  js  c++  java
  • flex datagrid combox

    http://stackoverflow.com/questions/1408729/flex-datagrid-with-combobox-itemrenderer

    <?xml version="1.0" encoding="utf-8"?>
    <mx:ComboBox
        xmlns:mx="http://www.adobe.com/2006/mxml" 
        dataChange="setSelected()" 
        change="onSelectionChange(event)"
        focusEnabled="true">
        <mx:Script>
            <![CDATA[
                import mx.events.DataGridEvent;
                import mx.events.ListEvent;
                import mx.controls.dataGridClasses.DataGridListData;
    
                private var _ownerData:Object;
                private var _lookupField:String = "value";
    
                // When using this component as an itemEditor rather than an itemRenderer
                // then set ' editorDataField="selectedItemKey"' on the column to 
                // ensure that changes to the ComboBox are propogated.
                [Bindable] public var selectedItemKey:Object;
    
                public function set lookupField (value:String) : void {
                    if(value) {
                        _lookupField = value;
                        setSelected();
                    }
                }           
                override public function set data (value:Object) : void {
                    if(value) {                    
                        _ownerData = value;
                        setSelected();
                    }
                }
                override public function get data() : Object {
                    return _ownerData;
                }            
                private function setSelected() : void {
                    if (dataProvider && _ownerData) {
                        var col:DataGridListData = DataGridListData(listData);
                        for each (var dp:Object in dataProvider) {
                            if (dp[_lookupField] == _ownerData[col.dataField]) {
                                selectedItem = dp;
                                selectedItemKey = _ownerData[col.dataField];
                                return;     
                            }
                        }                    
                    }
                    selectedItem = null;
                }
                private function onSelectionChange (e:ListEvent) : void {
                    if (selectedItem && _ownerData) {                    
                        var col:DataGridListData = DataGridListData(listData);
                        _ownerData[col.dataField] = selectedItem[_lookupField];
                        selectedItemKey = selectedItem[_lookupField];
                    }
                }                   
            ]]>
        </mx:Script>    
    </mx:ComboBox>
    
    
    //usage:
    
    <mx:DataGridColumn headerText="Child" dataField="PersonID" editable="false" textAlign="center">
      <mx:itemRenderer>
        <mx:Component>
          <fx:GridComboBox dataProvider="{parentDocument.childrenData}" labelField="Name" lookupField="PersonID" change="dispatchEvent(new mx.events.DataGridEvent(mx.events.DataGridEvent.ITEM_FOCUS_OUT, true, true))"/>
        </mx:Component>
      </mx:itemRenderer>                      
    </mx:DataGridColumn>
    
    <mx:DataGridColumn labelFunction="lookupChildName" headerText="Child" dataField="PersonID" editable="true" editorDataField="selectedItemKey">
        <mx:itemEditor>
            <mx:Component>
                <fx:GridComboBox dataProvider="{parentDocument.childrenData}" labelField="Name" lookupField="PersonID" change="dispatchEvent(new mx.events.DataGridEvent(mx.events.DataGridEvent.ITEM_FOCUS_OUT, true, true))"/>
            </mx:Component>
         </mx:itemEditor>      
    </mx:DataGridColumn>
    

      

  • 相关阅读:
    05.迪米特原则 (LOD)
    04.接口隔离原则 (ISP)
    03.依赖倒置原则 (DIP)
    02.里氏替换原则 (LSP)
    01.单一职责原则 (SRP)
    Flutter点击事件的穿透,父元素点击事件覆盖了子元素点击的问题
    flutter dart语法判断 0/0==Nan 1/0==Infinity的问题
    vue项目引入三方字体
    vue echart图表打包后 图片不显示
    vue设置页面的高度100%
  • 原文地址:https://www.cnblogs.com/wucg/p/2128080.html
Copyright © 2011-2022 走看看