当我试图检查jQgrid中的复选框时,它选择了正常的值,并且我有自定义格式化程序文本字段而不输入文本字段中的值并尝试选中复选框,我将在此之后显示警告消息我将取消选中该复选框,但焦点不会从网格中删除.
我已附上屏幕截图请让我知道答案.
代码粘贴在这里:
jQuery("#list1").jqGrid({
url:actionurl,
mtype: 'POST',
colNames:['PartnerId', 'Employee No','Employee Name' ,'Position', 'Position Id', 'Wages','Relieve Date','Days Required'],
colModel:[
{name:'partnerId',index:'partnerId', width:280,sortable:true,search:false, hidden: true},
{name:'em_ka003_employeeno',index:'em_ka003_employeeno', width:200,sortable:true},
{name:'empname',index:'empname', width:280,sortable:false,search:false},
{name:'position',index:'position', width:250,sortable:false,search:false},
{name:'positionId',index:'positionId', width:0,sortable:false,search:false,hidden:true},
{name:'wages',index:'wages', width:100,sortable:false,search:false},
{name:'emp_relievedate',index:'emp_relievedate', width:200,sortable:false,search:false},
{name:'daysrequired',index:'daysrequired', width:140,sortable:false,search:false,formatter:createText},
],
rowNum:10,
rowList:[5,10,15],
pager: '#pager1',
sortorder: "asc",
sortname: 'em_ka003_employeeno',
viewrecords: true,
rownumbers: true,
loadonce: false,
forceFit: true,
datatype: 'xml',
multiselect: true ,
footerrow:true,
userDataOnFooter:true,
onSelectRow: function(rowId)
{
handleSelectedRow(rowId);
},
caption: "<b>Labor Extension",
gridComplete: function() {
$.unblockUI();
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的自定义格式化程序功能:
function createText(el, cellval, opts)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个jqGrid的两个子网格和groupingView() ,当我的数据从服务器加载到我的亚格并不想扩大电网.只有当我页面或单击刷新按钮时,子网格才会展开,或者当我设置loadonce:false或取出groupingView()时它会扩展并且一切正常,但是我导出到excel时没有显示任何数据.我希望我的子网格在第一次加载数据时展开,而不是在我刷新或页面之后!
我试过了:
$MyGrid.jqGrid('setGridParam',{datatype:'json'}).trigger('reloadGrid');
Run Code Online (Sandbox Code Playgroud)
并尝试触发器来触发loadComplete()上的刷新按钮
*$(".ui-icon-refresh").each(function () {
$(this).trigger("click");
});*
Run Code Online (Sandbox Code Playgroud)
单击此触发按钮时可以正常工作,但它不会在loadComplete()函数中自动触发.
这是我的Javascript:
function CreateOrdSummaryTable()
{
if ($("#DataTab_2").length === 0)
{
$("#tdBotRight").html("<table id='DataTab_2' class='dataContent' border='1' align='top'></table>" +
"<div id='PagerDataTab_2'></div>");
}
var $tableOrdSummary = $("#DataTab_2");
$tableOrdSummary.jqGrid({
url: '/Ord/WS/OrderWebSummary.php',
colNames: ["Sum of Order Mass","Customer", "Case", "Associated Mass" ,"Order Mass","Invoiced Mass","Shipped Mass","FGI Mass"],
colModel: [
{ name: "ORDITM", index: "ORDITM", resizable: true, width: 120},
{ name: "CUSTOMER", index: "CUSTOMER", resizable: true, width: 250}, …Run Code Online (Sandbox Code Playgroud) 我从教程中完成了所有工作,用我的数据替换它,但这是一个硬编码的情况.例如,在我正在工作的教程中,我有:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'http://127.0.0.1/products/index.php/mystuff/test/1/5/productname/desc',
datatype: 'xml',
mtype: 'GET',
colNames:['ProductID','title', 'description','price','tax','notes'],
colModel :[
{name:'invid', index:'invid', width:55},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', index:'total', width:80, align:'right'},
{name:'note', index:'note', width:150, sortable:false} ],
pager: jQuery('#pager'),
rowNum:10,
rowList:[10,20,30],
sortname: 'title',
sortorder: "desc",
viewrecords: true,
imgpath: 'http://127.0.0.1/products/public/themes/basic/images',
caption: 'Product List'
});
});
Run Code Online (Sandbox Code Playgroud)
但是网址被硬编码以提取数据.该教程有:
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'example.php',
datatype: 'xml',
mtype: 'GET',
colNames:['Inv No','Date', 'Amount','Tax','Total','Notes'],
colModel :[
{name:'invid', index:'invid', width:55},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', …Run Code Online (Sandbox Code Playgroud) 我正在研究我的第一个jqGrid实现.我正在使用navGrid中出现的标准添加/编辑按钮,但是当我在编辑/添加表单中单击"提交"时,我在识别服务器响应的过程时遇到了问题.
.navGrid("#product-codes-footer",{edit:true,add:true,del:false},
{afterShowForm:afterShowEdit}, {afterShowForm:afterShowAdd} );
Run Code Online (Sandbox Code Playgroud)
是否有一个标准的回调或事件参数我在这方面遗漏了什么?有没有办法定义如何saveRow调用或是否有我可以实现的默认成功/错误回调方法?
任何方向都会非常感激!!!
我有一个页面,以两种不同的模式显示一个表.在每种模式中,我都有一组不同的列.我正在使用jqGrid来显示表格.当我第二次尝试加载表时(相同或不同的列),表不会刷新数据.
是否有不同的API来重新加载数据?或者我应该先使用某种方法清除表格?
有人知道如何在JQGrid中包装列名.请在下面找到我的JSON代码
colModel:[{name:'RequestID',index:'CreditRequest.CreditRequestID',width:100,align:'left'},.....
参考上面的代码,如果内容的大小超过我希望它被包装.任何想法或评论
我正在使用表单编辑.表单中有两个选择框.一个选择框是国家,另一个选择框是国家.状态选择框取决于所选的国家/地区,并将动态填充.例如:
国家:
美国(期权价值= 1)
英国(期权价值= 2)
美国州:
阿拉巴马州(期权价值= 1)
加利福尼亚州(期权价值= 2)
佛罗里达州(期权价值= 3)
夏威夷(期权价值= 4)
英国国家:
伦敦(期权价值= 5)
牛津(期权价值= 6)
正如你所看到的状态的id上述英国与5.开始当我修改其中载有记录Country id=2 (UK)和State id=6 (Oxford),编辑表格将正确地显示-国家是英国和国家是牛津大学.但是如果你下拉状态选择框,选项文本是正确的(它显示伦敦牛津),但选项值将从0开始.应该正确的是选项值应从5开始.
如果您选择并将国家/地区下拉框更改为美国,然后再次更改回英国,则选项值将正确填充(从5开始).
我的问题是,当编辑表单加载时,如何根据编辑框中的国家/地区填充具有正确选项值的州的选择框?
我正在尝试在加载时永久更新jqgrid中的单元格.我知道我可以使用,setCell但只更新该页面的值.如果我没有明确地setCell为单元格执行另一个单元格,则返回页面,显示旧值.我也尝试过setRowData,但似乎做了同样的事情.我正在使用的loadonce方法是1)加载数据2)根据一些标准修改数据的几个值3)显示修改后的值.我正在使用loadonce不应该在这个会话中有永久修改单元格的方法吗?
更新:
放入我没有给出错误但是没有遍历所有数据的代码:
var set = 0;
....
gridComplete: function(data){
setData();
},
....
beforeRefresh: function(data){
set = 0;
},
....
function setData(){
if(set == 1) return;
... //create hash up here
var dataArray = jQuery("#grid").jqGrid('getGridParam', 'data');
var j = 1;
for (var rows in dataArray) {
var key = dataArray[rows].name;
dataArray[rows].level = hashTable[key];
j++;
}
alert(j);
}
Run Code Online (Sandbox Code Playgroud)
这不是循环遍历本地加载的数组中的所有项目.例如,如果页面大小设置为30,则alert(j)返回30,尽管我在本地加载了多少项目.但是,如果我刷新图形,则j是正确的数字.为什么getGridParam的行为在每种情况下都不同?
gridComplete:
在将所有数据加载到网格中并且所有其他进程完成后,将触发此操作.此事件也会独立于数据类型参数并在对分页等进行排序后触发.
loadComplete:
每个服务器请求后立即执行此事件.data响应中的数据取决于数据类型grid参数
从那些文档中我理解gridComplete在绘制网格结束时loadComplete触发,并在jqGrid完成与后端的通信后触发.
所以我想知道 - 为什么在演示中,loadComplete用于改变细胞的颜色而不是gridComplete?