ссылка не обернута в столбец таблицы искровых данных - PullRequest
2 голосов
/ 05 декабря 2011

Я использую Datagrid для моего приложения. Я использую один cusomrenderer (содержит одну ссылку) для моего спарта datagrid. Текст в столбцах усекается относительно размера его столбца. Но ссылка не усекается, она перекрывается со следующим столбцом, что не справедливо. Я хочу, чтобы столбец ссылки должен быть обрезан в пределах его столбца. Здесь я привел пример кода.

<?xml version="1.0" encoding="utf-8"?>

<s:Application name="Spark_DataGrid_columns_test"
               xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            import spark.components.Grid;
            import spark.components.gridClasses.CellPosition;
            private function init():void
            {


                var link:ClassFactory = new ClassFactory(sparkLinkRenderer);
                linkColumn.itemRenderer = link;
            }



        ]]>
    </fx:Script>
    <fx:Declarations>
        <s:ArrayList id="TweetersList">
            <fx:Object drink="onetqwo three four five six seven eight" name="Dan Florio"    twitter="polyGeek polyGeek polyGeek polyGeek polyGeek" />
            <fx:Object drink="one" name="David Ortinau"     twitter="davidortinau"  />
            <fx:Object drink="one" name="Simeon Bateman"    twitter="simBateman"/>
            <fx:Object drink="one" name="Dan Florio"    twitter="polyGeek" />
            <fx:Object drink="one" name="David Ortinau"     twitter="davidortinau" />
            <fx:Object drink="one" name="Simeon Bateman"    twitter="simBateman" />
            <fx:Object drink="one" name="Dan Florio"    twitter="polyGeek" />
            <fx:Object drink="one" name="David Ortinau"     twitter="davidortinau" />
            <fx:Object drink="one" name="Simeon Bateman"    twitter="simBateman" />
            <fx:Object drink="one" name="Dan Florio"    twitter="polyGeek" />
            <fx:Object drink="one" name="David Ortinau"     twitter="davidortinau"/>
            <fx:Object drink="one" name="Simeon Bateman"    twitter="simBateman"/>
        </s:ArrayList>
    </fx:Declarations>

    <s:DataGrid id="spdg" width="500" height="250" >
        <s:columns>
            <s:ArrayList>
                <s:GridColumn width="100" id="linkColumn"  dataField="drink"/>
                <s:GridColumn width="100" dataField="name"/>
                <s:GridColumn width="100" dataField="twitter"/>
            </s:ArrayList>
        </s:columns>
    </s:DataGrid>
</s:Application>

ссылка пользовательский код рендерера:

<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                    xmlns:mx="library://ns.adobe.com/flex/mx"  
                    xmlns:s="library://ns.adobe.com/flex/spark"
                    width="100%"  >
    <fx:Script>
        <![CDATA[


                override public function set data(value:Object):void
                {   
                    super.data = value;
                    linkButton.label = value.drink;
                }

            ]]>
    </fx:Script>
    <mx:LinkButton id="linkButton" color="#170909" textAlign="left" fontWeight="normal" textDecoration="underline">
    </mx:LinkButton>
</s:GridItemRenderer>

образец снимка моего вывода:

enter image description here

, пожалуйста, предложите мне этот вопрос.

спасибо заранее, vengatesh

1 Ответ

2 голосов
/ 03 мая 2012

Ну, сначала я отправил награду, а затем нашел решение ...

У GridItemRenderer есть свойство clipAndEnableScrolling, которое делает это, если установлено в true.

<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:mx="library://ns.adobe.com/flex/mx"  
                xmlns:s="library://ns.adobe.com/flex/spark"
                width="100%" 
                clipAndEnableScrolling="true">
<fx:Script>
    <![CDATA[


            override public function set data(value:Object):void
            {   
                super.data = value;
                linkButton.label = value.drink;
            }

        ]]>
</fx:Script>
<mx:LinkButton id="linkButton" color="#170909" textAlign="left" fontWeight="normal" textDecoration="underline">
</mx:LinkButton>

...