1

当文本在 mx DataGrid 中被截断时,有没有办法在单元格上显示工具提示?如果不在 mx DataGrid 中,我对 Spark 很感兴趣,但我必须转换,所以这是最后的手段。

更新
有一种方法有条件地显示提示。如果您创建一个 dataTipFunction 然后如果您返回 null 它不会显示工具提示。所以,理论上我可以得到文本的长度,看看它是否超过一定数量,如果它返回文本,如果不是这将不准确,因为如果文本包含 5 个“i”字符它会比 5 个“m”字符短得多,如下面的文字所示:

iiiiii
嗯嗯

4

1 回答 1

4

如果您对火花解决方案感兴趣,这是我的示例。使用火花标签“showTruncationTip”的神奇属性。

在此处输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" 
           minWidth="955" minHeight="600">
<fx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;

        [Bindable]private var collection:ArrayCollection = new ArrayCollection([
            {field01:"field01", content:"your content", field02:"field02"},
            {field01:"field01", content:"your content your content your content your content", field02:"field02"},
            {field01:"field01", content:"your content your content your content your content", field02:"field02"}
        ]);
    ]]>
</fx:Script>

<s:DataGrid
    x="10" y="10"
    width="320" height="120" 
    dataProvider="{collection}">

    <s:columns>
        <s:ArrayList>   
            <s:GridColumn dataField="field01" headerText="Field 1"/>
            <s:GridColumn dataField="content" headerText="Content" width="120">
                <s:itemRenderer>
                    <fx:Component>
                        <s:GridItemRenderer>
                            <s:HGroup width="100%" height="100%" verticalAlign="middle" paddingLeft="8">
                                <s:Label text="{data.content}" width="100%" maxDisplayedLines="1" showTruncationTip="true"/>
                            </s:HGroup>
                        </s:GridItemRenderer>
                    </fx:Component>
                </s:itemRenderer>
            </s:GridColumn>
            <s:GridColumn dataField="field02" headerText="Field 2" width="100"/>
        </s:ArrayList>                  
    </s:columns>                
</s:DataGrid>
</s:Application>
于 2013-03-17T18:16:50.613 回答