如何设置将鼠标悬停在jqGrid行/单元格上时出现的"工具提示"?
目前,工具提示似乎只是单元格内容.
我正在使用jqGrid,我正在尝试为每个tr添加一个数据属性.我正在触发loadComplete事件,但我不确定如何修改每一行.任何代码示例?
我可以通过在jqgrid自定义格式化程序中执行此操作来更改文本颜色:
function YNFormatter(cellvalue, options, rowObject)
{
var color = (cellvalue == "Y") ? "green" : "red";
var cellHtml = "<span style='color:" + color + "' originalValue='" +
cellvalue + "'>" + cellvalue + "</span>";
return cellHtml;
}
Run Code Online (Sandbox Code Playgroud)
但我想现在改变整个单元格的背景颜色(而不是文本颜色).
这可能吗?
jqGrid有一个名为Posted的列.根据客户如何配置网格,它可以定位在不同的位置,但始终保持不变.
如果已发布列的值为True,我需要更改行的背景颜色
我在下面尝试了colmodel但是alert(rdata.Posted)显示总是未定义.
如果此行中的已发布列的值为true,如何更改行的背景颜色?
我查看了许多Oleg和其他改变背景颜色的解决方案,但他们使用的是硬编码列号.
colModel: [
{"cellattr":function(rowId, tv, rawObject, cm, rdata) {
if (rdata.Posted)
return 'class="jqgrid-readonlycolumn"';
return '';
}
,"label":"Klient","name":"Klient_nimi","classes":null,"hidden":false},
{"label":null,"name":"Posted","editable":true,"width":0,
"classes":null,"hidden":true}],
...
Run Code Online (Sandbox Code Playgroud)
更新
在update2中,Oleg建议使用rowattr.我还需要在操作列中隐藏内联删除按钮和自定义发布按钮.我在loadComplete下面是usijng代码.如何使用rowattr实现这一点?
var LoadCompleteHandler = function () {
var iCol = getColumnIndexByName($grid, 'Kinnitatud'),
postedDateCol = getColumnIndexByName($grid, 'Kinkuup'),
cRows = $grid[0].rows.length,
iRow,
row,
className,
isPosted,
mycell,
mycelldata,
i, count,
cm = $grid.jqGrid('getGridParam', 'colModel'),
l,
iActionsCol = getColumnIndexByName($grid, '_actions');
l = cm.length;
if (iCol > 0 || postedDateCol > 0) {
for (iRow = 0; iRow < cRows; …Run Code Online (Sandbox Code Playgroud) 我想知道是否有更好的方法从服务器加载大型Json数据集.
我使用jqgrid作为loadonce:true.我需要一次加载大约1500条记录,我也不使用分页选项.有没有更好的方法来实现这一目标?先感谢您.
这是我的网格代码 -
$(function(){
$("#testgrid").jqGrid({
url:getGridUrl,
datatype: 'json',
mtype: 'GET',
height: 250,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', width:60, sorttype:"int",search:false},
{name:'invdate',index:'invdate', width:90, sorttype:"date",search:false},
{name:'name',index:'name', width:100,search:false},
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float"},
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float",search:false},
{name:'total',index:'total', width:80,align:"right",sorttype:"float",search:false},
{name:'note',index:'note', width:150, sortable:false,search:false}
],
multiselect: true,
multiboxonly:true,
caption: "Manipulating Array Data",
pager: '#testgridpager',
//Auto load while scrolling
//scroll: true,
//to hide pager buttons
pgbuttons:false,
recordtext:'',
pgtext:'',
loadonce: true,
sortname: 'id',
sortorder: 'asc',
viewrecords: true,
multiselect: true,
jsonReader : {
root: "rows",
//page: "page",
//total: "total",
records: …Run Code Online (Sandbox Code Playgroud) 当我设置的GridView到真(GridView控件:真)在我们的jqGrid增加jqGrid的,就像方法的性能afterInsertRow,或者其他类似的方法不会被执行.以下是我的jgGrid的代码:
jQuery("#displaylistGrid").jqGrid({
url: contextRoot + '/StandardProxy/displayListService?userRole='+
userRole+'&userName='+userName+'&userId='+userId+
'&duration='+displayDuration+'&wicNo='+wicNo+
'&displayName='+dlDisplayName+'&displayNameArr='+displayNameArr+
'&pointValue='+pValue+'&locationId='+locId+'&locationCode='+
locCode+'&serviceType=forecast',
datatype: 'json',
colNames: ["CM Name", "Display ", "Loc. Pt.","Max. Ben." ,"Display Name",
"Items w/Fcst", "Units", "Sales $", "Profit $", "GP%", "Units",
"Sales $", "Profit $", "GP%","Hidden","Hidden1","Hidden2",
"Start Date and End Date", "Hidden4"],
colModel: [
{ name: "cm_name", index: "cm_name", sorttype: "text", width: 120,
resizable: true },
{ name: "ds_location", index: "ds_location", sorttype: "text", width: 120,
resizable: true },
{ name: "ds_symbol", index: "ds_symbol", …Run Code Online (Sandbox Code Playgroud) 我如何才能使jqgrid的所有列都不可调整大小?目前我认为每个列都要指定属性{resizable:false}.无论如何,我可以指定整个网格吗?
我在我的应用程序中使用JQGrid.
如果JqGrid行基于列中的值,我想在这里更改颜色.
我能够改变列的颜色,但我不能改变行的背景颜色.
这是我用来改变行颜色的代码......
loadComplete: function (data) {
//RETRIEVE COLUMN INDEX : ISPRINTED
var isPrintColIndex = getGridColumnIndex(jQuery("#list10_d"), 'isPrinted');
//CHANGE COLOR OF PRINTED ARTICLES
//NOTE : JSON FORMATs ARE DIFFERENT SO ...HERE WE ARE ADDING CONDITION
if (data != null && data.rows != null) {
for (var index = 0; index < data.rows.length; index++) {
if (typeof (data.rows[index].id) === 'undefined') {
//LOAD BY JQGRID API ITSELF
if (data.rows[index].isPrinted == 'NO') {
if (data.rows[index].isPrinted == 'NO') {
jQuery("#list10_d").jqGrid(
'setCell', data.rows[index]._id_, "articleid",
"", …Run Code Online (Sandbox Code Playgroud) 我猜是afterInsertRow是要使用的方法,我已经为每一行(读/未读)提供了额外的数据,使用了键"readStatus".
我不想要的是在网格完成后横向移动DOM,根据某个单元格值将行添加到行中.
有什么建议?
添加在:
如果这是单元格数据:
{"cell":["blah blah blah"],"id":"123456789","readstatus":"unread"}
Run Code Online (Sandbox Code Playgroud)
我如何进入'readstatus'部分?
下面是我的 jqGrid 代码,当我check在 jqgrid 行内有一个特定的复选框时,我想选择行或突出显示当前行。现在onSelectRow我正在检查复选框。
var xmlDoc = $.parseXML(xml);
$('#configDiv').empty();
$('<div width="100%">')
.attr('id','configDetailsGrid')
.html('<table id="list1" width="100%"></table>'+
'<div id="gridpager"></div>'+
'</div>')
.appendTo('#configDiv');
var grid = jQuery("#list1");
grid.jqGrid({
datastr : xml,
datatype: 'xmlstring',
colNames:['cfgId','','Name', 'Host', 'Description','Product', 'Type', 'Last Updated Time','Last Updated By',''],
colModel:[
{name:'cfgId',index:'cfgId', width:90, align:"right", hidden:true},
{name:'',index:'', width:15, align:"right",edittype:'checkbox',formatter: "checkbox",editoptions: { value:"True:False"},editable:true,formatoptions: {disabled : false}},
{name:'cfgName',index:'cfgName', width:90, align:"right"},
{name:'hostname',index:'hostname', width:90, align:"right"},
{name:'cfgDesc',index:'cfgDesc', width:90, align:"right"},
{name:'productId',index:'productId', width:60, align:"right"},
{name:'cfgType',index:'cfgType', width:60, align:"right"},
{name:'updateDate',index:'updateDate',sorttype:'Date', width:120, align:"right"},
{name:'emailAddress',index:'emailAddress', width:120, align:"right"},
{name:'absolutePath',index:'absolutePath', width:90, …Run Code Online (Sandbox Code Playgroud) 我正在使用jQGrid进行分组.每组头将有三个possibilites一个:Pending,Duplicate,Not Duplicate.
根据该文本,我想更改分组标题的背景颜色.我已经使用rowattrjQGrid 的属性来更改网格行的背景颜色,但我无法弄清楚如何更改分组标题颜色.
这是我的实现rowattr,我认为应该类似于分组标题背景颜色:
gridview: true,
rowattr: function (rd) {
alert(rd.duplicateStatusName);
if (rd.duplicateStatusName === "Pending Review") {
return { "class": "css_trStatusBackground_pending" };
}
else if (rd.duplicateStatusName === "Duplicate") {
return { "class": "css_trStatusBackground_dup" };
}
else if (rd.duplicateStatusName === "Not a duplicate") {
return { "class": "css_trStatusBackground_notdup" };
}
},
Run Code Online (Sandbox Code Playgroud)
这是我当前网格的屏幕截图:

我希望深灰色标题颜色是基于标题中的文本的不同颜色(类似于我的行颜色).
这可能吗?