2013-12-21 1 views
0

Я пытаюсь создать ссылки внутри сетки данных ячеек, и я не в состоянии удалить горизонтальную полосу прокруткиLinkButton отображается внутри сетки показывает горизонтальную полосу прокрутки, когда длина текста большая

Вот мой пример

/////////////////////////////////////////// 
//GridExample.mxml - Main application 
/////////////////////////////////////////// 

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx"> 

<mx:Box id="myCustomBox" height="100%" width="100%" initialize="assignData();"> 


    <fx:Script> 

     <![CDATA[ 
      import mx.collections.ArrayCollection; 
      import mx.collections.HierarchicalData; 

      [Embed("dialog_error.png")] 
      private var myImage:Class; 


      public function assignData():void { 
       var retVal:ArrayCollection = new ArrayCollection(); 
       var hData:HierarchicalData = new HierarchicalData(); 
       var s:String = '[{"Property":"AA","Value":2,"RowIdentifier":"AA"},{"Property":"BB","Value":"Nice looking link","RowIdentifier":"BB"},{"Property":"CC","Value":"sdfgusgdfugadgfuasygdfgauidsguiasgdfugasuidfguiasg","RowIdentifier":"CC"}]'; 
       var pSets:Object = JSON.parse(s); 
       var propertySets:Array = pSets as Array; 
       for (var i:int=0;i<propertySets.length;i++) 
       { 
        var item:Object = propertySets[i]; 
        var arrayElt:Object = {Property: item["Property"], RowIdentifier: item["RowIdentifier"], Value: item["Value"]}; 
        retVal.addItem(arrayElt); 
       } 

       hData.source = retVal; 
       myGridId.dataProvider = hData; 

      } 
     ]]> 
    </fx:Script> 


    <mx:AdvancedDataGrid id="myGridId" 
         variableRowHeight="true" 
         width="100%" 
         showHeaders="false" 
         includeInLayout="{myGridId.visible}" 
         defaultLeafIcon="{null}" 
         > 


     <mx:columns > 
      <mx:AdvancedDataGridColumn dataField="Property" headerText="Property" backgroundColor="#E5EFF5" width="0.4" wordWrap="true" /> 
      <mx:AdvancedDataGridColumn dataField="Value" headerText="Value" backgroundColor="white" width="0.6" itemRenderer="ExampleRenderer"/> 
      <mx:AdvancedDataGridColumn dataField="RowIdentifier" visible="false"/> 
     </mx:columns> 


    </mx:AdvancedDataGrid>  

</mx:Box> 

</s:WindowedApplication> 


/////////////////////////////////////////// 
//ExampleRenderer.mxml - ItemRenderer used 
/////////////////////////////////////////// 

<?xml version="1.0"?> 

<mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" textAlign="center" creationComplete="renderNow()" > 
<mx:Script> 
    <![CDATA[ 
     import mx.events.FlexEvent; 
     import mx.controls.LinkButton; 
     import mx.controls.Alert; 


     private function renderNow():void { 
      var dataObject:Object = super.data; 
      var rowId:String = dataObject["RowIdentifier"]; 
      var label:LinkButton = new LinkButton(); 
      label.addEventListener(MouseEvent.CLICK, mouseClick); 
      label.percentWidth = 100; 
      label.label = dataObject["Value"]; 
      label.setStyle("horizontalScrollPolicy","off"); 
      label.setStyle("textAlign","left"); 
      label.setStyle("paddingLeft",3); 
      this.addChild(label); 
     } 

     override public function set data(value:Object):void 
     { 
      super.data = value; 
      dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); 
     } 

     private function mouseClick(e:MouseEvent):void{ 
      Alert.show("Clicked on a link"); 
     } 
    ]]> 
</mx:Script> 

</mx:Box> 

LinkButton создал хорошие ссылки, которые можно щелкнуть, и в веб-представлении он выглядит действительно хорошо с приятным наведением, создающим подчеркивание (как ссылку) и т. Д., Но когда текст длинный, горизонтальная полоса прокрутки скрывает текст сам. Как избавиться от горизонтальной полосы прокрутки (я попытался отключить horizontalScrollPolicy, и это не помогает). Я не возражаю, если лишний текст за пределами длины строки скрыт, так как я собираюсь добавить всплывающую подсказку в любом случае в каждую ячейку. Любая помощь здесь ценится.

спасибо.

ответ

0

Установка minWidth на 0 вместе с фиксированным значением% Width = 100.

Смежные вопросы