首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter打印软件包:创建带循环的pdf表格

Flutter打印软件包:创建带循环的pdf表格
EN

Stack Overflow用户
提问于 2019-09-30 03:32:07
回答 2查看 3.9K关注 0票数 0

我想用包' pdf‘创建一个pdf文档。dart页面上的示例运行良好:https://pub.dev/packages/pdf#-example-tab-

您可以看到该表是静态的。我想在pdf文档中创建一个动态表。

列将是恒定的,但行必须是动态的。

我试图插入一个for()循环。

语法不正确。

代码语言:javascript
复制
      pdfWidget.Table.fromTextArray(context: context, data: <List<String>> [
        <String>['Date', 'PDF Version', 'Acrobat Version'],
        //.....
        //more Strings here.....
      ]),
EN

回答 2

Stack Overflow用户

发布于 2019-10-03 04:32:15

我遇到了同样的问题。这似乎对我很有效。

代码语言:javascript
复制
pdf.addPage(
  MultiPage(
    build: (context) => [
      Table.fromTextArray(context: context, data: <List<String>>[
        <String>['Msg ID', 'DateTime', 'Type', 'Body'],
        ...msgList.map(
            (msg) => [msg.counter, msg.dateTimeStamp, msg.type, msg.body])
      ]),
    ],
  ),
);

其中我的msgList对象是一个自定义列表,即:List<SingleMessage>

票数 1
EN

Stack Overflow用户

发布于 2019-12-31 01:28:17

有几种方法可以做到这一点,我更喜欢单独填写列表,比如:

代码语言:javascript
复制
List<List<String>> salidas = new List();
salidas.add(<String>['Title1','Title2', ... , 'Title n']);

for(var indice=0;indice<records.length;indice++) {
   List<String> recind = <String>[
       records[indice].Stringfield1,
       records[indice].Stringfield2,
       ...,
       records[indice].Stringfieldn
   ];
   salidas.add(recind);
}
...
fpdf.Table.fromTextArray(context: context,data: salidas),
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58158516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档