我正在使用Halo AdvancedDataGrid组件,其中每个列的默认itemeditor是mx.controls.textInput。 例如,数据提供程序是: [code] [绑定] 私有var labelsgridarray:array= [{tag:“苹果”},{tag:“* banana”},{tag:“carrot”}; [/ code] 和AdvancedDataGrid定义是: [code] [/ code]

如果来自DataProvider阵列的字符串之前是星号 - 如本示例中的香蕉的情况,则需要由方括号括起来并以灰色显示。

我试图执行以下操作: [代码]

一位同事告诉我关于使用AdvancedDataGridColumn的LabElfunction属性。我尝试过但无法执行以下赋值(列的ID为“标记”): [code] tag.itemeditor.htmltext= formattedtext; [/ code]

i通过静态类型mx.core的引用获取错误“访问可能未定义的属性htmltext:ifactory。

我试图显式解压缩TextInput ItemEditor(就像我为覆盖设置数据的数据)并使用Labelfunction,但我无法在正确的范围内。

您的帮助非常感谢, Bonnie

有帮助吗?

解决方案

Try creating your own itemRenderer / itemEditor.

This would be your datagrid:

<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>

And this would be your itemRenderer/editor (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"/>

I have used a normal mx:Datagrid and a spark MXDataGridItemRenderer for this, but the way it works will be the same for the AdvancedDataGrid. All you need to do is override set data()

Cheers

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top