2011-12-05 9 views
2

私のアプリケーションにはspark datagridが使用されています。私は1つのcusomrenderer(1つのリンクを含んでいます)を使用していますspark datagrid.Textのカラムは、そのカラムのサイズに対して切り捨てられていますが、リンクは切り捨てられず、次のカラムにオーバーラップします。リンク列はそのcolumn.here内で切り捨てる必要があります私は私のサンプルコードを与えている。スパークデータグリッド列にリンクがラップされていません

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

この問題で私を提案してください。さて、最初私は奨励金を計上し、その後、私は解決策を見つけた

答えて

2

事前に

おかげで、 vengateshは...

GridItemRendererだけtrueに設定することを行い、プロパティclipAndEnableScrollingを持っています。 !!

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

+0

素晴らしいそれが動作します。私は同じプロパティ(ClipandEnableScrolling)を持つhgroup内にlinkbuttonを置くことでやっていました。 – vengatesh

関連する問題