问题标签 [kogrid]
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.
knockout.js - 在 SPEAK UI 页面中实现 KoGrid.JS
我需要将 KoGrid.JS 集成到我的 SPEAK UI 自定义组件页面之一中。
但我面临以下问题:
获得 KO 是未定义的错误,因为它没有获得“Knockout.JS”的引用
我们发现的原因 - Speak UI 在渲染我们自己的自定义 JS 文件后最后渲染 Knockout.js。所以我们不能使用任何 Knockout 函数。
如何实现具有 KOGrid.JS 等功能的 Knockout Grid?
javascript - KOGrid 单元格模板 $parent 未定义
一个初学者级别的javascript问题...
我需要为我的 KOGrid 定义一个单元格模板,该模板依赖于我的 VM 中的值。如果关联字段为 True,我希望文本显示为绿色,否则显示为红色。
我有以下单元格模板:
这些在我的 columnDefs 中使用如下
这很好用,但我想通过一个返回单元格模板的辅助函数来减少代码重复。就像是:
这可以通过以下方式调用:
我的问题是当我尝试这个时,我得到 ReferenceError:$parent is not defined
解决这种复制和粘贴代码增长的最佳方法是什么 - 我将为许多领域提供相同的功能?
根据 Jason 的建议更新了代码 - 尚未工作
javascript - 需要让自定义复选框列在 KoGrid 中工作
我正在尝试显示一个包含一些基本显示数据的 KoGrid。该网格有一个嵌入的复选框,用于说明该节目是否为电影,另一个嵌入的复选框用于说明该节目是否为卡通片。下面提供了这个网格的 Javascript,在一个名为 testgrid.js 的文件中:
下面提供了我正在使用的 HTML:
网格不显示。显示的内容看起来像是网格显示的一部分,但什么也没有出现。
我做了一些故障排除。我发现问题在于我为 testgrid.js 中的 showTitles 对象中的复选框提供的 cellTemplate 定义中的“数据绑定”语句。如果我删除这些语句,网格会显示,但我无法选中或取消选中复选框,也无法获取复选框的状态。
有没有办法让这些复选框在 kogrid 中正常工作?如何让一个绑定到分配给它们的布尔值?
有人请指教。
为了完整起见,下面是名为 lstyles.css 的样式表:
复选框问题,续
感谢 donMateo,我做了一些更改,让我可以显示网格。一旦能够显示它,我就开始单击复选框以查看它们是否有效。他们没有——或者更确切地说,他们没有按照我希望的方式工作。
问题 1:我注意到的第一件事是复选框状态不反映它们绑定的数据。无论 isMovie 和 isCartoon 的值如何,每个节目的复选框都未选中。例如:Johnny Quest 将 isCartoon 设置为“true”。该列表将该框显示为未选中。星球大战侠盗一号将 isMovie 设置为 true。它的 isMovie 框未选中。图 1显示了我所看到的。
注意:此站点上嵌入的图像不起作用。即使链接图像似乎也被破坏了。我提供了指向我的网站的直接 HTTP 链接,希望它们足以说明。
我更改了我的选择代码,以便它调用一个函数,该函数显示一个警告框,其中显示了节目名称、isMovie 值和 isCartoon 值的值。选择 Johnny Quest,我看到 isMovie 和 isCartoon 值是正确的。所以我的第一个问题是:为什么复选框不反映其数据的值?
问题 2:我发现的另一个问题是,当我单击一个复选框时,它似乎没有保留我所做的更改。图 2显示了当我单击 Johnny Quest 的 isMovie 复选框时发生的情况。请注意,该复选框已选中,但警告框仍将 isMovie 值显示为 false。请注意,在复选框更改状态后会显示警报。
当我单击警报框的“确定”按钮时,请注意图 3中复选框如何返回到“未选中”状态。事实上,我们看到图 2中的复选框的唯一原因是因为警报框造成的延迟!我知道这一点,因为作为一个实验,我暂时删除了警告框,刷新了浏览器,然后单击了 Johnny Quest 的电影复选框。有一个复选框被按下的简短指示,然后复选框又回到未选中状态。所以我的第二个问题是:为什么复选框在选中或未选中时不显示适当的更改?
问题 3:我发现的第三个也是最令人不安的事情是,复选框的状态显然发生了变化——但它没有显示出这种变化,而且(更糟糕的是)它不会导致人们期望的变化。这可以通过重新显示网格中的数据来证明,在我的例子中是通过对数据进行排序。
当我启动网格时,显示的顺序是图 1中所示的顺序。如果我单击“显示名称”列,排序后的列表如图 4 所示。
然后我点击 Johnny Quest 电影复选框,得到警告框,点击 Ok。图 5显示了复选框是如何保持不变的。
现在,当我再次点击“显示名称”列时,为了进行反向排序,请注意图 6中所有电影复选框的情况!
卡通复选框也会发生同样的事情。单击一个,单击警报框上的确定,然后采取措施。所有卡通复选框都将被选中。
要取消选中它们,只需单击一个复选框,注意警告框中显示的不正确状态,单击确定,然后采取措施。所有的框都将被取消选中。
所以我的第三个问题是:不同行中的复选框之间的联系是什么?更重要的是:我如何切断这个链接???
总结: KoGrod 在将控件放入自定义列时确实搞砸了。对于复选框:复选框显示的数据与假定绑定到的单个数据设置不同步。尝试更改复选框的选中状态不起作用,并且更改一个复选框会导致所有复选框都更改 - 但是在重绘网格(使用排序或可能的滚动或分页)之前您不会看到该更改。
这就引出了一个问题:单元格模板是否只是作为网格的显示模板?koGrid 甚至能够正确处理包含控件的自定义列吗?如果是这样,怎么做?不是,那我在哪里可以找到一个网格控件呢?
有人请指教。
下面提供了当前的 testgrid.js。没有其他文件被更改。
javascript - Javascript 转换为数组
我需要创建一个对象数组,每个对象都包含“LicenseRefNo”、“FPPRNO”等字段。
该网站对当前返回以下 json 的 C# 控制器进行 ajax 调用:
这似乎几乎是正确的,但我需要将其设置为 KOGrid 的 gridOptions.data 属性。似乎 javascript 代码遇到了问题,因为 KOGrid 需要是一个可观察的数组,并且要创建其中一个,我需要一个 javascript 数组。
请问如何将我拥有的字符串转换为数组?
javascript - KOGrids - Different Height on Same Page
Please excuse if this is a daft question - I am CSS clueless!
I have two ko grids on the same page. I'd like to be able have a different height for grid 1 compared to grid 2. Unfortunately, it seems the height cannot be set from the standard configuration options for ko grid: https://github.com/Knockout-Contrib/KoGrid/wiki/Configuration
From my example at: http://jsfiddle.net/BizTalkers/L0ce5jmy/2/ I've found that I can change the height by editing:
In my real application, the ko grid is displayed in a Razor view of an asp.net MVC website. I've found I can adjust the height of all ko grids by changing the height property in the following:
What would be the best way to adjust the height of the grids independently?
jquery - 禁用复选框 ColumnMenu kogrid
我有一个像http://knockout-contrib.github.io/KoGrid/#/examples这样的 ko-grid 。我想禁用列菜单中的特定复选框,如下图所示。我该怎么做? 在此处输入图像描述
先感谢您。
jquery - KoGrid 行选择绑定
我正在使用 KoGrid 插件来创建一个带有选择复选框的剔除网格。到目前为止,我有以下代码。
我只是想知道如何访问该selectedItems
属性,以便可以将选定的值传递给 ajax 调用?
或者我可以不这样做并且必须使用该选项手动将选定的 Id 推送到数组afterSelectionChange
?
javascript - KnockoutJs 指向新标签的超链接
我有一个在视图中使用 KnockoutJS 和 KOGrid 的 ASP.Net MVC 网站。它在一个特定列中动态呈现超链接,如下所示:
已经决定,当单击时,浏览器应在新选项卡中显示新页面。因此,我尝试添加“目标”属性,如下所示:
这没有用。超链接已呈现但无法单击。
我怎样才能做到这一点?
knockout.js - KOGrid 点击下一页按钮什么也不做
使用 KOGrid 我在 JS 视图模型中有以下内容:
我可以通过直接输入页码来浏览页面。导航返回按钮工作正常,但单击导航下一页或最后一页什么也不做。
我在同一网站的不同页面上有另一个 KOGrid 实例,并且工作正常。我使用了 Chrome devtools,并且从 Network 选项卡中,我可以看到单击上一个导航按钮时正在发出 Get 请求,但在下一个导航上没有发出请求。
有任何想法吗?