- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当涉及到 tableToGrid()
函数时,我正在浏览 jqGrid 4.3.1 的文档和源代码,我发现 ColModel
和 ColNames
在包含在 options
对象中时会被忽略,因为它们是根据 HTML 表格布局构造的。
我的问题是有没有办法强制 tableToGrid()
接受这两个数组 (ColModel,ColNames)
而不是从 HTML 表中构造它们,特别是如果表的列是预先知道的。
当我浏览代码时,我在TableToGrid
的代码中找到了这部分
function tableToGrid(selector, options) {
...
...
// Build up the columnModel and the data
var colModel = [];
var colNames = [];
jQuery('th', jQuery(this)).each(function() {
if (colModel.length === 0 && selectable) {
colModel.push({
name: '__selection__',
index: '__selection__',
width: 0,
hidden: true
});
colNames.push('__selection__');
} else {
colModel.push({
name: jQuery(this).attr("id") || jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(' ').join('_'),
index: jQuery(this).attr("id") || jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(' ').join('_'),
width: jQuery(this).width() || 150
});
colNames.push(jQuery(this).html());
}
});
但是,我的黑客会考虑这些更改
function tableToGrid(selector, options) {
...
...
// Build up the columnModel and the data
if(options.hasOwnProperty("colModel") && options.hasOwnProperty("colNames")) {
var colModel = options.colModel;
var colNames = options.colNames;
} else {
var colModel = [];
var colNames = [];
jQuery('th', jQuery(this)).each(function() {
if (colModel.length === 0 && selectable) {
colModel.push({
name: '__selection__',
index: '__selection__',
width: 0,
hidden: true
});
colNames.push('__selection__');
} else {
colModel.push({
name: jQuery(this).attr("id") || jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(' ').join('_'),
index: jQuery(this).attr("id") || jQuery.trim(jQuery.jgrid.stripHtml(jQuery(this).html())).split(' ').join('_'),
width: jQuery(this).width() || 150
});
colNames.push(jQuery(this).html());
}
});
}
我只是想知道是否有一种更简单的方法(可能是我错过的一个选项)可以强制执行此类行为,而无需调整源代码。
我首先这样做的原因是对某些字段强制使用 datefmt
选项,因为它们被 jQgrid 忽略,从而导致搜索功能出现问题。如果 @Oleg 可以对此提供一些见解,我们将不胜感激。
干杯,N.
最佳答案
我认为你的主要问题是你根本使用了tableToGrid
。我发现有关常见用法或架构的问题是技术问题。
如果您输入了数字、日期、货币等数据,您可能希望数据能够正确排序,例如通过 jqGrid。从 HTML 表中解析本地化数据并取消数据格式并不是最好的方法。如果您直接创建 jqGrid,您可以节省时间。您应该在 data
参数中提供输入数据。这样,数据就可以轻松、安全地读取、排序和分页。您可以轻松地包括工具栏过滤或高级搜索或其他一些过滤搜索。只有当您提供 jqGrid 纯数据时,一切才会顺利进行。
参见the answer了解更多信息。
关于jquery - jQgrid tableToGrid() 忽略选项中的 colModel 和 ColNames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018069/
就像我遇到的情况,我在一个 colModel 中有日期,我需要对当前日期执行数学运算(减去)并将其显示在 jQgrid 中的另一个 colModel json 中, {name:'createdOn'
在我的 mvc jqgrid 代码中,colnames 和 colmodel 返回相同长度的 col。但是当运行应用程序时,我收到此错误。有什么帮助吗? 代码: public WeekColumns
使用JQGrid,是否可以设置默认的colModel以防止重复代码?例如代替 colModel: [ {name:'name',index:'name',width:80,align:center},
使用可选模板和属性在 Web 应用程序中定义免费的 jqgrid colmodel {"template": defaultNumberTemplate, ,"label":"Price","n
如何获取 jqGrid 元素的整个 colModel?我已经浏览了一些源代码,也进行了一些测试,但似乎没有返回实际的数组。 谢谢。 最佳答案 您可以使用getGridParam - 只需传递colMo
我需要找到类似于 this one 的解决方案 问题是:我想从 JSON 数据中获取列名称/模型。 链接上提供的解决方案有效,但一旦获得数据,它就成为 jqgrid 的“本地”,然后服务器的东西就不起
我的jqGrid动态工作。因此所有选项也都是动态加载的。该选项是用 java Map 生成的所有选项都工作得很好,但 de map/opts 内的函数名称不行。这是json用java生成的 map 。
我正在尝试动态创建网格。我的目标是创建一种动态前端来显示一些数据库表。所以我需要动态添加/删除列。我需要动态更改列的数据类型。 我使用 a similar question 中提供的脚本作为答案。 我
我必须创建一个类似于 http://www.chartle.net/ 的数据表有。 最重要的功能是: 可以动态添加/删除行(完成) 可以动态添加/删除列(我该怎么做?) 更改后的colModel可以保
我正在使用 jqgrid 创建网格。这个有“主要”部分,其中包含标题和数据等以及“高级搜索”。不幸的是,他们都使用相同的 getColModel,我想在预先搜索中使用不同的标题和 colname。例如
是否可以为 jqGrid 列提供动态(非硬编码)搜索过滤器值? 所以在例子中如: $('#my-grid').jqGrid({ datatype: 'json',
我有一个 jqGrid,我需要在加载数据后但在将其解析为网格之前更改模型。换句话说,我想我想在 loadComplete 处理程序中做到这一点。我看到这种方法:Setting JqGrid's col
我已使用以下代码将占位符设置为我的网格日期时间字段。现在我想在应用过滤器请求后在另一个 .js 文件中获取此占位符值。 searchoptions: { attr: { placeholder
问题: 使用jqgrid显示表格的数据。表有外键,我们想要显示其外键的文本而不是 ID。我还希望用户可以对外键进行排序和过滤。 示例: 人员表:Id、姓名、EducationId(教育表的外键) 受过
经过 3 个小时的谷歌搜索后,我请求你的帮助。 我的页面上有一个 jqGrid。 网格的重要选项: $("#listU05").jqGrid({ url:'u05json.json', datatyp
我有一个 jqGrid 事件处理程序,它接收 iCol 作为参数。我需要知道如何为给定的 iCol 获取在 colModel 中指定的名称。 例如给定以下 jqGrid 事件处理程序:接收rowid、
我正在使用 jqGrid 作为通用的类似表格的可编辑控件。我的目标是拥有一对 name -> value在 value 所在的表中s 是可编辑的。 只要我不搞砸 colModel 一切都会顺利: 如果
我将在许多不同的网页中使用 JqGrid。我有一些自定义格式化程序和自定义编辑类型例如,我想使用日期选择器来编辑日期 所以,我不想使用 colModel 的 edittype 作为自定义,并提供自定义
伙计们,我正在使用 jqGrid ..并且我想循环遍历 colModels 名称以获取行数据..这是我的代码 $(document).ready(function() { $("#jqGrid")
我正在尝试使用新行、colNames 和 colModel 重新加载 jqGrid。行数据似乎加载正常,但列似乎没有刷新。我试过使用 GridUnload 和 GridDestroy 但我最终完全丢失
我是一名优秀的程序员,十分优秀!