如何将格式应用于ActionScript 3.0中的数据馈送AdvancedDataGrid

|| 我正在使用Halo AdvancedDataGrid组件,其中每列的默认itemEditor是mx.controls.TextInput。 例如,数据提供者为: [CODE] [可绑定] 私人var标签GridArray:Array = [{标签:\“苹果\”},{标签:\“ *香蕉\”},{标签:\“胡萝卜\”}] ;; [/ CODE] 并且AdvancedDataGrid定义是: [CODE] [/ CODE] 如果数据提供者数组中的字符串前面带有星号(如本例中的香蕉所示),则该字符串需要用方括号括起来并用灰色显示。 我尝试执行以下操作: [码]                            一位同事告诉我有关使用AdvancedDataGridColumn的labelFunction属性的信息。我试过了,但是无法执行以下分配(列的ID为\'tag \'): [CODE] tag.itemEditor.htmlText = formattedText; [/ CODE] 我通过静态类型为mx.core:IFactory的引用获得错误\“可能未定义的属性htmlText的访问。 我试图既显式地提取TextInput itemEditor(就像我对覆盖集数据所做的那样)并使用labelFunction,但是我无法使两者都处于正确的范围内。 非常感谢您的帮助, 邦妮     
已邀请:
尝试创建自己的itemRenderer / itemEditor。 这将是您的数据网格:
<fx:Script>
    <![CDATA[
        [Bindable] private var labelsGridArray:Array = [ { tag:\"apple\" }, { tag:\"*banana\" }, { tag:\"carrot\" } ];
    ]]>
</fx:Script>
<mx:DataGrid dataProvider=\"{labelsGridArray}\" >
    <mx:columns>
        <mx:DataGridColumn headerText=\"Name\" itemRenderer=\"NameItemRenderer\"/>
    </mx:columns>
</mx:DataGrid>
这将是您的itemRenderer /编辑器(NameItemRenderer.mxml)
<s:MXDataGridItemRenderer xmlns:fx=\"http://ns.adobe.com/mxml/2009\" 
                      xmlns:s=\"library://ns.adobe.com/flex/spark\" 
                      xmlns:mx=\"library://ns.adobe.com/flex/mx\" 
                      focusEnabled=\"true\">
<fx:Script>
    <![CDATA[

        override public function set data(value:Object):void{
            super.data = value;
            if(value.tag.indexOf(\"*\")!= -1){
                lblData.text = \"[\" + value.tag + \"]\";
                lblData.setStyle(\"color\",0xFF0000);
            }
            else{
                lblData.text = \"\" + value.tag ;
                lblData.setStyle(\"color\",0x000000);
            }
        }
    ]]>
</fx:Script>
<s:Label id=\"lblData\" top=\"0\" left=\"0\" right=\"0\" bottom=\"0\"/>
我为此使用了常规的mx:Datagrid和spark MXDataGridItemRenderer,但对于AdvancedDataGrid,其工作方式相同。您需要做的就是覆盖set data() 干杯     

要回复问题请先登录注册