问题标签 [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 - kogrid - 动态 ColumDefs
我需要在运行时更改 kogrid 上的 columnDefs 但运气不佳。
加载视图时,我默认为数据源。当用户从下拉列表中进行选择时,会触发一个名为 ChangeDataSource 的方法。在该方法中,我更改了columdefs 和数据源,但kogrid 仍然显示默认数据源和columndefs。
这是 jsfiddle 到 illistrate- http://jsfiddle.net/wood0615/cw56z/6/
这是代码-
看法-
视图模型-
我如何对其进行编码,以便当我的视图模型中的数据源和 columndefs 发生更改时,视图也会相应更改?
knockout.js - KOGrid 中的条件单元格格式
我正在尝试根据 kogrid 单元格中的正数或负数来更改文本颜色。如果数字是负数,我需要文本颜色为红色。如果数字是正数,我需要文本颜色为绿色。
我认为使用 columndefs 的 cellClass 属性可以解决问题,但它似乎不起作用。
这是一个 jsfiddle 到 illistrate- http://jsfiddle.net/wood0615/Bug56/10/
这是视图模型代码:
查看代码:
CSS:
也许我在 cellClass 属性上的语法错误?
entity-framework - 在 entityChanged 事件期间保存时,Breeze 未存储正确的值(在代码中设置)
我有一个 Breeze、Typescript、MVC 5.2、Knockout、Entity Framework webapp。当用户单击网格(kogrid)中的一行时,我尝试更新用户实体的值。该值(应该)保存在 entityChanged 事件处理程序中,但在 Fiddler 中我看到属性值没有更改,并且 entityAspect.entityState 设置为 Modified(!) originalValuesMap 具有旧的 TenantId 并且是地图。
我订阅了这样的实体更改事件:
数据正确到达事件处理程序。进行了 savechanges 调用,但更改的值 (tenantId) 没有更改。
rowclick 的事件处理程序如下:
当我禁用 entityChanged 订阅并启用注释行 entityManager.saveChanges.... 时,实体已正确保存。如果我取消注释该行,但保留订阅,它将不起作用。
如何在更改后自动保存更改的实体?
编辑:解决方法是在更改当前用户的 CurrentTenantId 值之前暂时禁用 entityChanged 事件处理程序,手动保存实体并重新订阅 entityChanged 事件。但是这个解决方案有味道。
javascript - 嵌入在 koGrid 中的下拉列表不起作用
我正在尝试获取一个下拉列表以填充 koGrid 的每一行。这是用于说明的 jsFiddle(请注意下拉框中没有文本)- http://jsfiddle.net/wood0615/sorg9na0/2/
这是我的html-
我的视图模型-
知道为什么下拉框没有数据是空的吗?
javascript - 如何为 koGrid 实现自定义排序?
数据:
16.00 小时 19.99 小时 210.46 小时 262.54 小时 303.19 小时 55.95 小时 60.07 小时 64.07 小时 7.95 小时
我想要的是:
我需要允许在 koGrid 中对这个数据之王进行排序(通过单击网格标题、asc 或 desc 排序的默认功能)。
问题:
数据是字符串,因此您可能会猜到它是如何排序的 - 通过字符代码。我有哪些选择?我发现一列可以分配 sortFn,我猜是这样的?
代码:
小提琴: JSFiddle
ajax - 将数据模型元素传递给 CellTemplate KoGrid
我正在使用KoGrid来制作我的自定义 Ajax 网格。我不知道如何将模型元素传递给一些 Javascrit 方法以生成自定义模板。
我试过这样但不起作用:
PluginGrid.AjaxUrl("MyControler/GetGrid").Columns(
[
{ field: "UserName", displayName: "Model", width: "*", cellClass: "text-center", headerClass: "grid_width_270", cellTemplate: PluginHelpers.HtmlUserInformation($parent.entity, true) },
{ field: "StatusId", displayName: "Status", width: "*", cellClass: "text-center", headerClass: "text-center" }
]).Show("grid");
});
这实际上是 KoGrid 的包装器。我想以某种方式将数据模型传递给我的 Js 方法:
当我这样做时,我收到了 $parent 变量的一些未定义错误。
请指教,
javascript - koGrid 完全渲染后如何执行代码?
我正在与 kogrid 合作。我想根据该列中的数据将工具提示应用于特定列中的每个单元格。我的问题是准确找到放置工具提示 jquery 的时间/位置:
我正在使用的 colDef 是:
数据是从 ajax 请求返回的。我尝试将 jquery 放入 axaxStop 块中:
但这是在 kogrid 渲染所有行之前调用的。
我求助于使用 setTimeout 并简单地延迟 X 毫秒,然后应用工具提示,这很有效,但感觉就像一个 hack。
在将我的数据推送到我的视图模型后,我也尝试过调用工具提示。
这最终将工具提示应用于前大约 7 行,而不是剩余的行。
我真正想要的是一种访问在网格完全渲染时触发的一些 kogrid 事件的方法。我已经搜索过这个并且没有想出任何东西,所以我正在询问社区。
我注意到另一个小问题,即我的工具提示隐藏在其上方的 kogrid 单元格下。但这是次要的,我希望用 z-index 来解决。
javascript - 默认情况下如何保持分组行展开?
我是 Kogrid 的新手。默认情况下,我的网格按 UserRoles 列分组。但它默认显示为折叠状态。我想在页面加载时按 UserRoles 列对网格进行分组和扩展。
JS:
knockout.js - 数据更改时kogrid不更新列
我有这样的简单数据:
来自 ajax 的下一个数据将具有不同的模式。像这样 :
在我的一段代码中:
问题是列未更新。列仍然与第一个模式相同,即 id、name 和 status。作业和电话未呈现。如何呈现不同的架构?
javascript - 未捕获的类型错误:grid.sortedData.peek(...).filter 不是函数
我正在尝试使用 KnockoutJs KOGrid 进行分页。我一直在关注这个: http: //knockout-contrib.github.io/KoGrid/#paging
我传递到我的视图模型(vm 参数)的数据包含以下内容:
我的淘汰赛视图模型如下:
Andy 我的 html(Asp.Net MVC Razor 视图)是:
当页面加载时,从 kogrid.js 中抛出以下错误Uncaught TypeError: grid.sortedData.peek(...).filter is not a function
如果我检查网格对象的sortedData属性,它看起来没问题:
我要执行的淘汰视图模型 js 的最后一行是self.myData(pagedData); 在this.SetPagingData函数中。
使用 Fiddler,我从服务器的响应中提取了以下内容:
我哪里做错了?