使用数组作为 CGridView 的数据源

2024-04-05

我希望这能起作用。我正在编写和开票应用程序,并希望将当前发票保存在一个数组中,该数组可以存放在 blob 字段中。这也将用于存档更改等。

发票的销售项目使用CGridView 显示。唯一的事情是所有文档都说数据源应该是 IDataProvider。我不想将整个对象存储在我的数据库中,但类似于以下内容:

invoice->array(
                InvoiceHeader->array(//header information),
                InvoiceItems->array(
                                   item_1->array( 
                                                 item_id-> '1',
                                                 item_count->'3',
                                                 ....
                                                 ),
                                   ),
               ),

在我看来,我想这样做:

$this->widget('zii.widgets.grid.CGridView', array(
               'dataProvider'=>$this->invoiceItems,
              ));

- 边注。永久存储是一系列表,这将用于保存活动记录,以防浏览器错误等。当前系统直接在表中执行此操作,但会导致发票编号不一致和统计不准确。


您可以首先将数组包装在 CArrayDataProvider 中,然后在 CGridView 中使用它 -

$invoiceItemsDataProvider = new CArrayDataProvider($this->invoiceItems);
$this->widget('zii.widgets.grid.CGridView', array(
               'dataProvider'=>$invoiceItemsDataProvider,
              ));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用数组作为 CGridView 的数据源 的相关文章

随机推荐