所以我有一个带有XMLListCollection的spark List控件作为dataProvider
<wordRecord>
<word>duck</word>
<syllables>1</syllables>
<firstLetter>d</firstLetter>
<!--other fields-->
</wordRecord>
<wordRecord>
<word>machete</word>
<syllables>3</syllables>
<firstLetter>m</firstLetter>
<!--other fields-->
</wordRecord>
<!--more wordRecords-->
我想从<word>
字段打印一个单词列表(基本上是一列)。我尝试创建一个自定义PrintDataGrid,但它打印出空白。知道如何去做吗?
(编辑:9/12/2012)
抱歉,应该包含更多代码。
我有一个外部文件(“MyPrintView.mxml”),我从网上某处改编:
<?xml version="1.0" encoding="utf-8"?>
<s:VGroup xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="500" height="300">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:PrintDataGrid id="myDataGrid" width="100%">
<mx:columns>
<mx:DataGridColumn />
</mx:columns>
</mx:PrintDataGrid>
</s:VGroup>
这里是主mxml文件中的函数中的代码,该文件应该进行打印(外部文件和FlexPrintJob的必要库已被分类,“workingList”是spark List Object的id我试图打印):
var printJob:FlexPrintJob = new FlexPrintJob();
if(printJob.start() != true) return;
var listPrintView:MyPrintView = new MyPrintView();
addElement(listPrintView);
/*Error on the following line*/
listPrintView.myDataGrid.dataProvider = workingList.dataProvider::word;
printJob.addObject(listPrintView);
printJob.send();
removeElement(listPrintView);
我得到的是一个空白的列,没有印刷文字。 Flash Builder 4给出了一个错误,内容如下:
"Multiple markers at this line:
-1120: Access of undefined property dataProvider.
-listPrintView"
答案 0 :(得分:0)
我自己修好了。 DataColumn声明需要dataField
属性,并显示要显示的XML字段的名称。 ItemRenderer是一个疯狂的追逐。