- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面我复制了我的 jqGrid 并删除了很多不相关的属性等,但是下面的基本代码足以封装我的问题。
我有一个动态过滤器,它在 ajax 调用成功返回时填充。返回的 json 包含下拉列表的字符串值 (uniqueRunDates) 以及其他值。使用“setColProp”将字符串 (uniqueRunDates) 动态添加到列中。 jgGrid 完成后,函数中的下一行代码将调用网格的重新加载,并且新的过滤器将就位。
该过滤器的工作原理与静态(如“JobStatus”)过滤器一样,但有一个异常(exception)。正在寻找。
网格具有三个可以互换使用的搜索(文本框和两个下拉列表[一个是 uniqueRunDates])。当用户在文本框中输入内容时,网格会正确更新,返回的 json 具有新的唯一日期,我通过“setColProp”添加它们。最后一步是必须调用“reloadGrid”。问题是我该怎么做???
在第一轮中,执行网格创建后的代码。当执行搜索时,仅执行此 jgGrid 代码。当然,我不能将“reloadGrid”放入成功调用中,因为这会形成循环。我尝试使用工具栏的“afterSearch”属性,但是当我需要它时,它似乎没有被触发。
我处理这个问题的方式正确吗?有没有更简单的方法来处理这个看似常见的概念?动态搜索过滤器?非常感谢您提供的任何帮助和/或指导。
$("#gridTable").jqGrid({
async: false,
datatype: function (jqGridModel) {
$.ajax({
async: false,
url: 'Application.aspx/getJqGridData',
data: JSON.stringify({ 'rptPath': rptPath, 'jqGridModel': jqGridModel, 'userId': userId }),
success: function (data, textStatus, jqXHR) {
populateGrid(data);
var uniqueRunDates = (JSON.parse(data)).uniqueDates;
$("#gridTable").jqGrid('setColProp', 'Run_Date', {
stype: 'select',
searchoptions: { value: uniqueRunDates, sopt: ['dateEq'] }
});
}
});
},
colNames: ['', 'Report Name', 'Run Status', 'Run Date', 'Expiring On', 'Category', 'Actions'],
colModel: [
{ name: 'Run_Date', index: 'RunDate', align: 'center', title: false, sortable: true, width: 40 }
{ name: 'Report_Name', index: 'ReportNameDisplay', align: 'left', title: false, sortable: true, formatter: reportLinkFormatter },
{ name: 'Run_Status', index: 'JobStatus', align: 'left', title: false, sortable: true, width: 50,
stype: 'select',
searchoptions: { value: ':All Status;Completed:Completed;Failed:Failed;Pending:Pending;No Data Returned:No Data Returned;:Returned' }
},
],
pager: jQuery('#gridPager'),
rowNum: 15,
rowList: [15, 25, 35, 50],
sortname: 'RunDate',
sortorder: "desc",
height: '100%',
multiselect: true
}
});
//Refresh necessary for the dynamically added 'run date' filter.
$("#gridTable").trigger("reloadGrid");
$('#gridTable').jqGrid('filterToolbar', {
stringResult: true
});
。。。。.
更新我已更新网格以遵循以下建议。
我能够查询服务器,并返回 JSON 对象的字符串版本。我还可以在“beforeProcessing”方法中看到返回值,它看起来不错。然而,网格不再填充。我不确定 jsonReader 是否按照我的返回格式正确设置。 data.d = {"总计":2,"页数":1,"记录":25,"行数":[{"id":"23","单元格":["0","xxx", “xxx”,...]}....]
我认为这是类型不一致的问题...想法?
$("#gridTable").jqGrid({
async: false,
url: 'Application.aspx/getJqGridData',
ajaxGridOptions: { contentType: "application/json" },
serializeGridData: function (postData) {
if (postData.filters == undefined) postData.filters = null;
postData.jqGridModel = { page: postData.page, _search: postData._search, rows: postData.rows,
sidx: postData.sidx, sord: postData.sord, filters: postData.filters
};
postData.rptPath = rptPath;
postData.userId = userId;
return JSON.stringify(postData);
},
contentType: 'application/json; charset=utf-8',
datatype: "json",
mtype: 'POST',
beforeProcessing: function (data) {
},
colNames: ['', 'Report Name', 'Run Status', 'Run Date', 'Expiring On', 'Category', 'Actions'],
colModel: [
{ name: 'Is_Fav', index: 'Favorites', align: 'center', title: false, sortable: false, search: false, width: 5, formatter: favImageFormatter },
{ name: 'Report_Name', index: 'ReportNameDisplay', align: 'left', title: false, sortable: true, formatter: reportLinkFormatter },
{ name: 'Run_Status', index: 'JobStatus', align: 'left', title: false, sortable: true, width: 50,
stype: 'select',
searchoptions: { value: ':All Status;Completed:Completed;Failed:Failed;Pending:Pending;No Data Returned:No Data Returned;:Returned' }
},
{ name: 'Run_Date', index: 'RunDate', align: 'center', title: false, sortable: true, width: 40,
selectOptions: {
dataUrl: 'Application.aspx/getJqGridData',
buildSelect: function (data) {
var gData;
if (data.hasOwnProperty('d')) gData = data.d;
else gData = data;
var uniqueRunDates = (JSON.parse(gData)).uniqueDates;
var html = '<select>', length = gData.length, i = 0, item;
for (; i < length; i++) {
item = d[i];
html += '<option value=' + item + '>' + item + '</option>';
}
html += '</select>';
return html
}
}
},
{ name: 'Expiring_On', index: 'ExpirationDate', align: 'center', title: false, sortable: true, width: 40, search: false },
{ name: 'Category', index: 'Category', align: 'left', title: false, sortable: true, width: 80 },
{ name: 'Actions', index: '', align: 'left', title: false, sortable: false, width: 25, search: false, formatter: actionsFormatter }
],
pager: jQuery('#gridPager'),
rowNum: 15,
rowList: [15, 25, 35, 50],
sortname: 'RunDate',
sortorder: "desc",
height: '100%',
viewrecords: true,
sortable: true,
jsonReader: {
root: "d.rows",
page: "d.page",
total: "d.total",
records: "d.records"
},
forceFit: true,
multiselect: true,
loadError: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
},
gridComplete: function () {
doGridComplete(rptPath);
},
beforeSelectRow: function (rowid, event) {
// Only allow row selection if the chekbox in the row is clicked
var index = $.jgrid.getCellIndex(event.target);
if (index == 0) {
return true;
}
return false;
},
subGrid: true,
subGridRowExpanded: function (subgrid_id, row_id) {
getReportDetails(subgrid_id, row_id, rptPath);
}
});
$('#gridTable').jqGrid('filterToolbar', {
stringResult: true
});
最佳答案
我不确定我是否正确理解您的需求。
您可以使用 dataUrl
属性来代替设置 searchoptions
的 value
属性,该属性使 Ajax 请求填充选择选项。 Here和 here您可以找到一些可以帮助实现dataUrl
的代码示例。
此外,您应该永远使用datatype
作为函数,只是为了自己调用jQuery.ajax
。 jqGrid 有很多选项,如 ajaxGridOptions、jsonReader 选项、serializeRowData 回调等。我建议您阅读the answer和 this one其中包含您可以下载和测试的圆顶项目。
如果您使用标准的 jqGrid 机制,并且仍然需要对网格上的数据进行一些修改(例如设置一些 jqGrid 选项),您可以使用 beforeProcessing
回调。回调 beforeProcessing
允许在 jqGrid 处理从服务器返回的数据之前对 colModel
或任何 jqGrid 选项进行更改。
关于jquery - jqgrid 搜索上的动态搜索选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185693/
给定一个 Option[Future[Option[Int]]] : scala> val x: Option[Future[Option[Int]]] = Some ( Future ( Some
如果我理解正确,EitherT[Option,A,B] 应该与 Option[Either[A,B]] 相同,但编译器不同意.以下代码编译失败: def f[A,B] = implicitly[Eit
我刚开始在使用 parcel.js 构建静态 Assets 时遇到此错误。它在本地工作,但我在 Heroku 上的构建出错,我不确定它是否相关。 最佳答案 得到同样的问题。通过将 core-js 安装
当我生成 Telerik Report 时,只有 Export PDF 可用。即使我将 docx 和 xlsx 的配置设置为 true。这是我在网络配置中的配置。
我的 iTunesConnect 应用程序显示 Apple Pay 选项。我正在使用布伦特里。 即使我们没有在应用程序中使用 Apple Pay 功能。 有人可以帮我解决如何在我的 itunesCon
我正在 Raspbian 中从命令行运行以下查询: mysql -u $NAME -p $PASS Tweets -e "SELECT count(*) FROM raw_tweets;" 它输出以下
我正在尝试使用 ffmpeg(在 linux 下)为视频添加一个小标题。所以,我使用: ffmpeg -i hk.avi -r 30000/1001 -metadata title="SOF" hk_
我正在尝试使用 ffmpeg 使用 ffserver 流式传输视频。您将在 ffserver1.conf 文件下方找到 ffmpeg 命令的日志输出。 其中一个错误引用了预设,每次我尝试使用预设时,我
我正在尝试对 Option 使用 fold 或 map 操作而不是 match。 我有一个选项 val ao: Option[String] = xxxx 和一个函数 f: (String => Fu
Dockerfile documentation表示有可能通过 --platform FROM 中的选项像这样的指令: FROM [--platform=] [AS ] 在我的 dockerfile
我不确定“属性(property)”或“选项”是否是正确的术语,但这是我需要弄清楚的。 鉴于以下情况: ' $.fileup({ url: '/file/upload',
我正在尝试使用 jQuery 检查是否选择了值 = 1 的选择选项,然后将类添加到某些元素。但有些东西不起作用。可以请人看一下代码吗? 我的代码: Reservation
我对 VIM 中的这些感到困惑。有些事情需要设置,而另一些则让。 而且,我如何检查某个选项。我知道这是一个选项,因为我使用 set 来更改它。 例如,如何检查当前文件类型选项是否为 java? 最佳答
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我在看《Professional F# 2.0》一书作者展示如下代码 let a string : option = None if a.IsNone then System.Console.
我习惯使用方法顶部的 java 样板检查输入参数: public static Boolean filesExist(String file1, String file2, String file3
假设我有一串 "Insert Post -title Some PostTitle -category 2 -date-posted 2013-02:02 10:10:10" 我一直在尝试做的是将这个
从 1.3.70 EAP 开始,在 org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions 这是 var useIR: kotlin.Boolean 哪个激活
我无法获取订购捆绑商品的所有子产品及其选项。这可能吗? 最佳答案 以下是您如何找出哪些产品应与所有其他项目一起附加到列表中的捆绑产品中的方法: foreach ($order->getAllItems
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我是一名优秀的程序员,十分优秀!