0

だから私たちはうまくやっています。

FlexPrintJob と独自の PrintDataGrid を持つカスタム PrintView オブジェクトを使用して、Flash Builder 4 AIR アプリケーションで印刷する XMLListCollection からフィールドを取得しました。

<mx:PrintDataGrid id="myDataGrid" width="100%">
    <mx:columns>
        <!-- "word" is the name of the XML field that prints-->
        <mx:DataGridColumn dataField="word" headerText="My Word List" />
    </mx:columns>
</mx:PrintDataGrid>

ここで、各単語の直前にプリントアウトにチェックボックスを追加するオプションをユーザーに提供できるようにしたいと考えています。別のカスタム PrintView を作成する必要がありますか? チェックボックス コントロール (印刷にのみ必要で、アプリ自体には必要ありません) を列に追加するにはどうすればよいですか?

4

1 に答える 1

0

自分で解決策を見つけました。これらのチェックボックスは印刷されたページにある必要があるだけなので、実際のチェックボックスコントロールである必要はありませんでした。そのため、labelFunctionの空白の白いボックス(actionscript構文では\ u25a2)にUnicode番号を使用しました。

<mx:PrintDataGrid id="myDataGrid" width="100%">
    <mx:columns>
        <mx:DataGridColumn dataField="word" headerText="My Word List" labelFunction="addCheckBoxes" />
    </mx:columns>
</mx:PrintDataGrid>
<fx:Script>
    <![CDATA[
        function addCheckBoxes(theItem:Object, theColumn:DataGridColumn):String{
            var itemText:String = theItem[theColumn.dataField];
            var retString:String = "\u25a2 \u25a2 \u25a2  " + itemText;
            return retString;
        }
    ]]>
</fx:Script>

このコードは、リスト用に最初に作成したPrintViewのコピーに配置されました。

于 2012-10-10T22:38:01.910 に答える