我正在开发一个使用 JQGrid 的 MVC 项目。在我的一个网格中,我有一个子网格。在子网格中,其中一列是下拉列表。我想捕获此下拉列表的更改事件,以便我可以使用所选项目设置下一个单元格的默认值。
我使用 Firebug 查看<select>html的 Id ,并尝试了以下代码,该代码不会触发警报:
$('#MySelectId').change(function() {
alert('Test');
});
Run Code Online (Sandbox Code Playgroud)
这种方法在使用模态编辑表单时有效,但我使用的是内联编辑,并且希望在用户更改网格上的下拉列表时捕获该事件。
我使用自定义格式化程序从json填充新网格,格式化程序已定义:
testFormatter(value,el,opts)
{
if (value==0)
{
$(el).addClass("Fail");
}
…
}
Run Code Online (Sandbox Code Playgroud)
我期望单元格使用css类,但如果我检查单元格,则不添加该类.
我正在使用 jqGrid,最新版本,当我应用自定义函数的编辑规则并执行 ajax 时,它总是返回“自定义函数应始终返回一个数组”。我认为这是一个时间问题,所以我将 ajax 设置为 false 但仍然存在问题。任何人都有一个自定义函数,可以执行正常工作的 ajax 调用。感谢任何帮助。谢谢你。
jQuery(softwareReportingGrid.gridId).jqGrid({
editurl: 'clientArray',
datatype: 'json',
colNames: ["Car"],
colModel: [
{"index":"Car","name":"Car","edittype":"text","editable":true,
"editrules":{"custom":true,"custom_func":validateCar,"required":true}}
....
Run Code Online (Sandbox Code Playgroud)
我有以下 javascript 函数,它被称为
validateCar: function (value, colname) {
jQuery.ajax({
async: false,
url: validateCarUrl,
data: { carName: value },
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
if (data) {
return [true, '']
} else {
return [false, value + ' is not a valid car'];
}
},
error: function () { alert('Error trying to validate …Run Code Online (Sandbox Code Playgroud) 我是JQ网格的初学者.在我的JQ网格中,我在列中添加了一个图像作为锚标记.单击特定单元格我需要更改该单元格的图像.我在列中添加了一个"clickableTitle"类,并尝试访问当前单元格:
$('.clickableTitle').live('click', function () {
$(this).parents('table:first').getCell($(this).parents('tr:first').attr('id'), 'comment'));
});
Run Code Online (Sandbox Code Playgroud)
这给了我以下格式的锚标记,但是我无法在运行时更改其图像源.
<A href="Proj.aspx?PID=795&Store=#Comment"><IMG class=commentIcon src="/_Layouts/images/iconCommentOn.png"></A>
Run Code Online (Sandbox Code Playgroud)
能否请您告诉我这是实现这一目标的最佳途径.谢谢!!!
我正在研究一个目前包含2500行的表,将来会越来越多.
我使用jqgrid来显示数据库中的记录.
每当网格加载时,我都在top 500从数据库中检索行.但是当我开始在网格中使用分页时,记录的数量正在增加.
示例:首先是行数TOP 100,然后进入下一页,它TOP 200在查询中增加到等等.
现在我想要一个解决方案来避免这个问题,这样我就可以限制行而不是根据网格检索前n行.假设使用范围或LIMIT
例
当我导航到网格中的下一页时,而不是TOP 200行,我想从101到200获取行
select top 500
exe.id,
bat.BName,
bat.tid,
bat.freq,
exe.status,
exe.Msg,
exe.time,
exe.Fi
from
XXX exe,
YYY bat
where
exe.id=bat.id
order by
CONVERT(VARCHAR(10),
exe.time,
120) DESC,
exe.status,
exe.id DESC
Run Code Online (Sandbox Code Playgroud)
请指导我,因为我是jQGrid的新手并且不太了解如何处理这个与DB相关的东西
我还在Stackoverflow中引用了一些链接但无法理解
提前致谢
我似乎无法让jqGrid分页工作.当我点击下一个/上一个/重新加载或我尝试过滤时,它没有发出请求.一旦我点击任何这些按钮,所有记录都会消失.
这是发送的初始请求,因此您可以看到所有这些参数都被传入.
https://www.xxxxxxx.com/getallorders?contactId=333&bucketId=444&_search=false&nd=1366982305621&rows=2??0&page=1&sidx=PKId&sord=desc
Run Code Online (Sandbox Code Playgroud)
这会返回正确数量的记录,如果我手动执行它并传入,请说page = 2我会得到适当的回退.问题似乎是没有提出请求.
jQuery("#grid").jqGrid({
url:'/GetAllOrders',
mtype: "GET",
datatype: "json",
jsonReader: {
root: "Rows",
page: "Page",
total: "Total",
records: "Records",
repeatitems: false,
userdata: "UserData",
id: "Id"
},
postData: {
contactId: currentUserId,
bucketId: currentBucketId
},
colNames:[
'Id',
'Cancel',
'Order #',
'Order Date',
'Bucket',
'Warehouse',
'Destination',
'Status',
'Tracking #',
'Transport By',
'Ordered By',
'Order Items'
],
colModel:[
{name:'Id',index:'Id', width:5, align:"center", hidden: true},
{name:'Cancel', index:'Cancel',width:80, align:"center", formatter: cancelLinkFormatter, search:false },
{name:'OrderNumber',index:'OrderNumber', width:80, align:"center"},
{name:'OrderDate',index:'OrderDate', width:140, …Run Code Online (Sandbox Code Playgroud) 当我从内容页面的maincontent到主页面的标题部分移动到块下面时,我得到异常 - "JavaScript运行时错误:对象不支持属性或方法'jqGrid'".
<link href="../Content/jquery.jqGrid/ui.jqgrid.css" rel="stylesheet" />
<link href="../Content/jquery.jqGrid/jquery-ui-custom.css" rel="stylesheet" />
<script src="../Scripts/jquery-1.9.1.min.js"></script>
<script src="../Scripts/jquery.jqGrid.js"></script>
<script src="../Scripts/i18n/grid.locale-en.js"></script>
Run Code Online (Sandbox Code Playgroud)
它只适用于我将此块放在母版页的尾部.
有人可以帮助我理解为什么它只在我将这个块放在母版页的尾随部分而不是在标题部分中时才有效?我认为这与加载jqGrid的依赖关系和初始化有关,但我需要具体的理解.
我有一个带有对象列表的 jgGrid,我想选择加载页面上的所有行。这是我的代码
multiselect: true,
loadComplete: function(){
var ids = $("#listDaFatturare").jqGrid('getDataIDs');
for(var i = 0; i <= ids.length; i++){
$("#list").jqGrid('setSelection', i, true);
}
},
Run Code Online (Sandbox Code Playgroud)
但不要运行,在我看来,我只看到选择了一行。我不明白问题出在哪里,我尝试调试代码,显然没有问题。
有任何想法吗?
我有一个数组,我需要从中过滤 JQGrid。
var filter = ["a","b","c","d",...255];
var postData = $('jqGridName').jqGrid('getGridParam', 'postData');
jQuery.extend(postData,
{
filters: {
groupOp: "AND",
rules: [
{ field: "Types", op: "ne", data: filter[0] },
{ field: "Types", op: "ne", data: filter[1] },
{ field: "Types", op: "ne", data: filter[2] },
{ field: "Types", op: "ne", data: filter[3] },
.
.
.
{ field: "Types", op: "ne", data: filter[255] },
]
},
});
Run Code Online (Sandbox Code Playgroud)
数组中的项数不固定。但它可以包含的最大值是 255。那么我需要写到 255(如上所述)还是有任何简单的方法可以实现相同的目标?
问候,
瓦伦
我是编程新手。当我在下面的函数中尝试这个时,它运行良好,除非列中有一个空白单元格。如果单元格中有任何空白值,则它不起作用,然后整个页面变为空白。请帮我解决。
function growth (cellvalue) {
var gcolor;
var numval=cellvalue
var val = Number(numval.replace("%",""));
if (val<0) {
gcolor = 'red';
} else if (val>0) {
gcolor = 'green';
}
return '<span class="cellWithoutBackground" style="background-color:' + gcolor + ';">' + cellvalue + '</span>';
};
Run Code Online (Sandbox Code Playgroud)
我也在下面尝试过这个不等于 null 像这样 if (val !== null && val<0)
function growth (cellvalue) {
var gcolor;
var numval=cellvalue
var val = Number(numval.replace("%",""));
if (val !== null && val<0) {
gcolor = 'red';
} else if (val !== null && val>0) …Run Code Online (Sandbox Code Playgroud) jqgrid ×10
jquery ×6
javascript ×4
pagination ×2
addclass ×1
ajax ×1
asp.net ×1
database ×1
jquery-ui ×1
sql-server ×1