これは、私の質問を説明する、実行できる自己完結型のアプリケーションです。Flex spark DataGrid で LinkButton を使用してクリック可能な URL を表示する場合、URL の列幅が短くなりすぎると (つまり、ユーザーによって調整される可能性があります)、表示される URL テキストが隣の列にぶつかります。以下のコードを実行すると、次のように表示されます。
これを改善する方法を知っている人はいますか?理想的には、URL テキストは列の幅に収まるように切り捨てられ、この切り捨てが発生するたびにツールチップが表示されます (たとえば、spark の Label プロパティと同様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>