【问题标题】:how to prepend/append addtional values with default values of groupText of jqgrid grouping?如何使用 jqgrid 分组的 groupText 的默认值添加/附加附加值?
【发布时间】:2018-05-14 06:15:12
【问题描述】:

我正在使用Guriddo JS jqgrid 的非商业版本。 [我也尝试过使用"free jqgrid",但没有成功,我不知道该怎么做。]我正在使用分组方法。

在分组的行上,我看到一个像 276155 这样的数值。但我想看到的是,Group:#276Group:#155 - someTextToappend 像这样。

为了实现这一点,我在colModel 中使用了自定义格式化程序,例如, {name:"ticket_id",index:"ticket_id",align:"right",formatter:taskTextFormat

我有一个功能如下,

function taskTextFormat(cellvalue,options,rowObject){ 
     // I am returning a string concatenated value something like
    return "Group:#"+rowObect["task_ID"];
    }

并且我已将 groupingField 设置为该列 ticket_id,因此会触发此函数并返回值,但我在所有分组行上看到相同的文本。喜欢,

Group:#276 // row one
Group:#276 // row two , I think the last groupText value is reflected on all other grouped rows as well. 

相反,我想要的是,

Group:#276 // row one
Group:#277 // row two
Group:#278 // row three and so on.

请帮助我,我不确定这是不是正确的方法,如果有更好的方法我会很乐意使用它。

【问题讨论】:

  • 请在您的问题中使用正确标签。您使用了“free-jqgrid”标签。您可以点击标签,然后点击“了解更多...”查看the page,“free jqGrid”是产品的名称。另一方面,您写道,您使用"Guriddo jqGrid JS" 并将其命名为“非商业”,这对其他读者来说是误解。我不确定你会得到一些特殊的非商业版本。无论如何,务必包含产品的版本号
  • @Oleg,真的很抱歉,我从 [github.com/free-jqgrid/jqGrid] 也从 Guriddo 网站,完全从链接 [guriddo.net/?page_id=102663] 获得了你的免费 jqgrid,我点击了“了解更多”第一个产品Guriddo jqGrid JS 在那个页面我已经阅读了许可条款,我点击了“下载”,它指向另一个带有下载按钮的页面,我得到了 Guriddo jqgrid 5.2.2。而且我不会把它卖给我只是在我的项目中使用的任何人。如果这是违反许可的,我准备删除所有 Guriddo 的东西。如果我违反了条款,请告诉我。
  • "free jqGrid" (github.com/free-jqgrid/jqGrid) 与 Guriddo 无关,Guriddo 是替代产品。您可以单击github.com/free-jqgrid/jqGrid/releases 上的“锥体并下载”按钮,也可以直接从 CDN 使用它(参见free-jqgrid.github.io/getting-started/index.htmlthe wiki article)。也请阅读README,它描述了 npm、Nuget 和其他来源。

标签: jquery jqgrid free-jqgrid


【解决方案1】:

你是说Guriddo jqGrid JS的试用版吗?

Guriddo jqGrid JS 是商业用途,仅供以下用户免费使用:

  • 学生、大学或公立学校
  • 非营利组织
  • 开发和测试应用程序

要解决问题你需要阅读一些documentation here 您需要的是一个 groupText 选项 - 阅读它。

Demo here

【讨论】:

  • 感谢您的回复!请看我对奥列格评论的回复。如果您觉得我违反了许可证,请告诉我。我随时准备删除内容。它在 [guriddo.net/?page_id=102666] 被提及为 If you want to use Guriddo jqGrid JS for a **personal website** or a non-profit organisation, you don’t need the author’s permission, just go on and use Guriddo jqGrid JS. For commercial websites and projects, see License and Pricing. 可能是我误解了“个人网站”这个词。如果我错了,对不起,我完全删除了你的内容。
  • 没问题。一切正常,我希望分组问题得到解决。
  • 谢谢托尼。来到groupText问题,我看过你的demo,如果前缀和后缀都是常量文本,那真的没问题。在我的情况下,前缀字符串是动态生成的,除了 rowObject object.my 函数“taskTextFormat”中的属性之一的值之外,只为内容行(内部行)和分组行(其中持有 groupText) 一次。所以,在第一次调用中它运行良好并返回预期结果。但是在第二次调用中,该属性在 rowObject 中不存在,并且所有 groupTexts 都以某种方式获取了最后一个 groupText 的文本。
  • 我认为了解您所做工作的最佳方式是发布您的代码和演示数据。您可以为此目的使用 jsfiddle
  • 在 jsfiddle 中,我不能附加 Guriddo js 对吗?抱歉,我从未使用过 jsfiddle。让我试试看。
【解决方案2】:

问题:您在演示https://jsfiddle.net/4aojr87w/ 中使用自定义格式化程序 来格式化第一列。 格式化程序不仅用于数据的格式化,还用于组头的格式化。您可以测试rowDataoptions.rowData的类型来检测是否需要格式化数据行或组头。仅在格式化数据的情况下,rowData 参数(或options.rowData)将是具有amount 属性的对象。因此,您必须将clientFormatter 的代码更改为例如以下

function clientFormatter(cellvalue,options,rowData)
{
    if (typeof rowData === "object") {
        console.log(rowData.amount);
        return cellvalue + " " + rowData.amount;
    } else {
        // formatting for the group header
        return "Group: " + cellvalue + "!!!"
    }
}

https://jsfiddle.net/OlegKi/4aojr87w/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 2017-06-05
    • 2015-12-20
    • 2013-04-05
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2022-11-26
    相关资源
    最近更新 更多