问题标签 [cgridview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3382 浏览

php - 如何使用来自 CArrayDataProvider 的自定义列创建 CGridView?

我有一系列看起来像这样的模型。这些模型是基本 Yii 模型类 ( BazClass) 的扩展,所以这是一个自定义解决方案,但我不明白为什么它不应该工作。

我通过这样做使它成为数据提供者:

并尝试像这样在视图中渲染它。基本上我只是想显示一个名称列表,列名为“名称”。

CGridView文档中的示例使它看起来是可能的,但我得到的错误是:

好吧,显然我确实指定了一个值,但它似乎为空。我也尝试过$data['NAME'](因为我在某处读到CArrayDataProvider不返回模型),但它仍然评估为空。

我还检查了它$dataProvider->getData()返回的列表与我传递的列表相同。

是什么赋予了?

0 投票
2 回答
255 浏览

yii - 将计数变量附加到对象

我需要一些帮助来显示 CGridView 中每个用户的帖子数。

例如:我有一个 User 和 Post 模型。我可以通过 $user->posts 访问用户的帖子有什么我可以添加到 $user->num_posts

0 投票
1 回答
218 浏览

jquery - 下拉列表更改的批量状态更新

我有批量状态上传的下拉列表

我正在努力获取上面 ajax 选项中输入复选框的所有选中值的值,如下所示:

我查看了 firebug 中的帖子, autoId 为空并且 updateStatus 工作正常。我想将 autoId 值作为数组发送到可以循环遍历数组的操作:

如何在 dropDownList 的 ajax 数据选项中将 autoId 检查值作为数组传递?

0 投票
1 回答
2351 浏览

php - 使用多个模型时搜索在gridview中不起作用yii

我试图在一个 CGridView 界面中访问 2 个相关模型以搜索元素。但是,一旦我将第二个表加入第一个表,搜索就会停止工作并且不过滤任何内容(网格未更改)。我已经提到了很多链接,但我自己无法解决这个问题。

表是 - UserMaster (user_id, name, status, ...) CustomerMaster (customer_id, user_id, account_number,...)

通过加入上述 2 个模型,我能够按预期获得网格视图,但搜索不适用于所有字段。

有人请帮我找出问题所在。我希望我已经清楚地解释了问题。

提前致谢。

0 投票
1 回答
1135 浏览

php - YII CGridView:页面更改后绑定一个jquery函数

我正在使用 CGridView 小部件,页面大小为 5

我正在尝试通过单击下一步、返回或页码按钮来绑定我想在页面更改发生后运行的 jquery 函数。

我试图通过挂钩这些按钮上的点击功能来做到这一点......

但问题是,这个 turnOnButtons() 在页面更改之前运行。我希望它在页面更改后运行。

有没有办法在 CGridVoew 上的下一页/上一页呈现后运行我的函数。

0 投票
2 回答
2244 浏览

php - Yii 为自定义 CGridView 设置默认选项

使用 PHP 框架 Yii。如您所知,默认的 CGridView 表 CSS 类是items. 那么我想改变这个值。我知道一个特定的小部件是可能的。像这样:

但是如何为整个 Yii 应用程序做到这一点呢?我的意思是默认一些其他类不是items

0 投票
1 回答
783 浏览

yii - Yii CGridView - 从两个来源显示和分页

我有两个数据源

从第一个数据库中,我获取组成员列表 ID(超过 10000 行),在获取列表后,我查询第二个数据库或点击 Memcached 以获取实际详细信息

在上面的数据提供者中,我不确定如何包含我的第二个数据库并获取实际的用户名,因为它在其他数据库中。没有从一个数据库直接连接到另一个数据库。

这里的问题是分页基于第一个数据库表(每页 30 条记录),实际数据来自第二个表。

关于如何实现这一点的任何想法?

谢谢你

0 投票
1 回答
5401 浏览

yii - YII“未定义属性 x”......除了它是

解决方案:

应用程序的 Document Root 中有一个 Samples.php 文件。这在应用程序的正常 Yii 执行链中是如何实际运行的,我无法理解。但确实如此,我删除了它,现在一切正常。谢谢!


更新:这几乎可以肯定是一个应用程序级别的缓存问题,除了所有缓存(我知道的)都被禁用。我可以进入生产模型文件夹并删除各种模型,然后 Yii 立即抛出这些模型不存在的预期错误。Samples 模型并非如此。它留在身边。


Yii Search 有一个非常奇怪的问题。

我正在做的是搜索相关模型,就像我之前做过 100 次一样。这在我的开发主机上运行良好,但一旦我将其发布到生产主机,它就会失败:属性“Samples.cancer_search”未定义。

我已经两次和三次检查文件是否实际正在发布。该属性列在 Samples 模型的规则中的“搜索时安全”列表中。该属性在模型中被声明为公共变量。在开发中完美运行,但是当我将这些文件(甚至整个应用程序)发布到生产环境时,它仍然没有定义属性。

比这更奇怪的是,我进入 prod 服务器并复制了错误的模型、控制器和视图以使用新名称(使用相同的 db 表)并且它工作正常。我所做的只是将模型、控制器和视图的名称从 Samples 更改为 SamplesTest/SamplesTestController,它就可以工作了!

我已禁用所有缓存(正在使用 memcache)并重新启动服务器。仍然给出同样的错误。

该模型(适用于开发,而不是产品。为清楚起见缩短了)

和搜索视图

我已经清除了 Yii 资产文件夹,但无济于事。

我要疯了还是他们可能有一些我不知道的缓存?

谢谢。

--

另一个线索——我在搜索网格中注意到,在 prod 服务器上,它也没有在列标题中使用正确的属性标签。不知道为什么在 dev 和 prod 上是一样的。


编辑 2 我尝试简单地在模型中声明一个公共 var 并将其跟踪到控制器搜索方法中的日志,同样的处理。var 存在于 dev 上,但不存在于 prod 上。

编辑 3 现在我知道有些东西正在被缓存。我刚刚删除了 Samples 模型,它继续使用未找到我的新属性的旧缓存版本。Memcached 被禁用,我重置了 mysql 查询缓存。仍然使用这个幻像模型。

0 投票
2 回答
1680 浏览

yii - Yii - CGridView 1-to-N 显示问题

我在一个月前开始使用 Yii,发现它非常直观,但在小部件方面却有些混乱。

在我正在开发的应用程序中,虽然我有时使用 Active Record,但我不能使用它的关系,因为我正在使用 MyIsam(并且这不能更改)并且它不支持外键。

我的问题是我有一个CGridView并想向其中添加自定义数据,但是遇到了问题。

在正确的模型中,它与FK一对多的关系,但正如我所说,我不能使用AR 的魔法。

我有这个,一个应用程序模型和一个配置文件模型。Profile 模型有一个应用程序FK

我有一个函数,所以当我渲染 CGrid 时,我可以获取每个应用程序的名称,而不是它的 *id_app*。

在自动生成的模板中,在 Profile Admin.php 视图中,我得到:

这是我的问题,我已经尝试过(以及各种变体):

结果我得到的只是null,因为它传递的是实际字符串而不是每一行的值。如果我将直接 ID 传递给函数的查询,它会返回正确的值,例如->where('a.id=:id_app', array(':id_app'=>3))

是否需要更改搜索条件?我发现了类似的问题,但他们都使用 AR,例如Profile->application或类似的东西,正如我所说,由于MyIsam 的限制,我无法使用它。

任何提示都对这个新手表示赞赏,或者链接到关于类似问题的解决方案。

0 投票
2 回答
390 浏览

ajax - Yii afterAjaxUpdate 发生 13 次?

在我的 CGridView 我有这个简单的功能:

在一次显示 2 个项目的列表上(用于调试)。

看到那边的console.log()s了吗?每次通话发生 13 次。我怎样才能解决这个问题?