0
這裏有一個獨立的應用程序可以運行,說明我的問題。在Flex spark DataGrid中使用LinkButton來顯示可點擊的URL時,如果URL的列寬太短(即可能由用戶調整),則顯示的URL文本會進入其相鄰列。如果您運行下面的代碼,這裏就是你會看到:軟硬度:顯示在Spark DataGrid中運行URL鏈接到相鄰列
任何人都知道如何改善呢?理想情況下,URL文本將被截斷以適合其列寬,並且每當發生截斷時都會顯示工具提示(例如類似於火花標籤屬性showTruncationTip="true"
)。人們在實踐中做了什麼?
<?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="300" minHeight="300">
<fx:Declarations>
<!-- Define the data -->
<fx:XMLList id="siteList">
<site> <name>IMDB</name> <url>http://www.imdb.com</url> </site>
<site> <name>BoardgameGeek</name> <url>http://www.boardgamegeek.com</url> </site>
<site> <name>Yahoo! Finance</name> <url>http://finance.yahoo.com</url> </site>
</fx:XMLList>
<!-- Use an XMLListCollection for the Spark DataGrid -->
<s:XMLListCollection id="siteList2" source="{siteList}"/>
</fx:Declarations>
<s:layout> <s:VerticalLayout/> </s:layout>
<s:Panel title="Spark DataGrid Links" width="300" height="300"
horizontalCenter="0" verticalCenter="0">
<s:DataGrid id="sparkDataGrid"
width="100%" height="100%"
dataProvider="{siteList2}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="url" headerText="URL" width="150" itemRenderer="myItemRenderer"/>
<s:GridColumn dataField="name" headerText="Name"/>
</s:ArrayList>
</s:columns>
</s:DataGrid>
</s:Panel>
</s:Application>
和文件名爲myItemRenderer.mxml(位於同一目錄下)是:
<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<s:HGroup height="25" verticalAlign="middle" horizontalAlign="left">
<mx:LinkButton label="{data.url}"
textDecoration="underline"
textRollOverColor="0x7777FF"
click="navigateToURL(new URLRequest(data.url))"
width="100%"
labelPlacement="left"
color="0x0000DD"/>
</s:HGroup>
</s:GridItemRenderer>
這是一個很大的改進。感謝Sam!這基本上處理了截斷部分。 – ggkmath
@ggkmath如果你願意,你可以隨時在LinkButton MXML中添加'tooltip =「{data.url}」'來顯示工具提示。 –
確實如此,但是它始終開啓(即使不需要)。不過謝謝。你的一半解決方案是必須的,而工具提示是一個很好的功能。 – ggkmath