
Copyright © 1999-2020, CSDNNET, All Rights Reserved
打开APP
Tianya_追心
关注
jgGrid实现 左移、右移、上移、下移 转载
2018-06-21 15:52:05
1点赞
Tianya_追心
码龄10年
关注
摘要:
最近在项目需求中通过jqGrid实现表格中的数据:左移、右移、上移、下移和置顶 等 *** 作。
下面记录实现的方法。
1
2
3
下面是代码片段:
右移(其实就是向一个grid容器中插入一行数据):
//这个方法是获取ztree节点内容,插入到grid表中
function BindBtnRightMethod() {
//获取ztree对象
var zTreeObj = $fnzTreegetZTreeObj("ztreeId");
//获取光标选中的tree节点
var selectedNodes = zTreeObjgetSelectedNodes();
if (selectedNodeslength == 0) {
$modalAlert(" *** 作失败!未选中节点。");
return; } else {
//新增一行
var data = { KSID:"10", FLKSID:"101", KSMC: "消化科" };
addRowDataByGridElementId("jqGridId", data); }}
//摘要://内容:向grid表中添加一行记录
function addRowDataByGridElementId(id, data) {
//获取当前grid中的表ID集合
var jqGrid = $('#' + id); var IDs = jqGridgetDataIDs();
//定义标量,记录IDs中的rowid的最大值
var maxId = 0; if (IDslength > 0) {
for (var i = 0; i < IDslength; i++) {
var tmpId = jqGridgetInd(IDs[i]);
if (maxId < tmpId) {
maxId = tmpId;
} } }
//这里是在给新增的rowid自定义一个有序值
var rowid= maxId + 1;
//执行新增 *** 作
jqGridaddRowData(rowid, data, rowid);
}
左移(其实是从grid表中删除一行):
//摘要://内容:按钮左移
function BindBtnLeftMethod() {
//删除选中行
var rowid = $("#jqGridId")jqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == undefined || rowid == null) {
$modalAlert("移除行未选中!");
return; } else {
var flag = $("#jqGridId")jqGrid("delRowData", rowid);
if (!flag) {
$modalAlert("移除 *** 作失败!");
}
}}
上移:
//摘要:
//内容:按钮上移
function BindBtnUpMethod() {
var obj = $("#jiGouGridList");
var IDs = objgetDataIDs();
var rowid = objjqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == null || rowid == undefined) {
$modalAlert("未选中行!");
return false;
}
var rowIndex = getRowIndexByRowId(IDs, rowid);
if (rowIndex == 0) {
$modalAlert('已经置顶,不能上移!');
} else {
var srcrowid = getRowIdByRowIndex(IDs, rowIndex - 2);
var rowUpId = getRowIdByRowIndex(IDs, rowIndex - 1);
var rowData = objjqGrid('getRowData', rowid);
var rowUpData = objjqGrid('getRowData', rowUpId);
//删除当前行
objdelRowData(rowid);
objdelRowData(rowUpId);
//新插入一行
objaddRowData(rowid, rowData, "after", srcrowid);
objaddRowData(rowUpId, rowUpData, "after", rowid);
//默认再选中新增的这个行
objsetSelection(rowid);
}
}
//摘要:
//内容:根据rowid,获取索引值
function getRowIndexByRowId(Ids, id) {
var index = 0;
for (var i = 0; i < Idslength; i++) {
if (Ids[i] == id) {
index = i;
}
}
return index;
}
//摘要:
//内容:根据索引值获取rowid值
function getRowIdByRowIndex(Ids, index) {
var rowid = "";
for (var i = 0; i < Idslength; i++) {
if (i == index) {
rowid = Ids[i];
}
}
return rowid;
}
下移:
//摘要:
//内容:按钮下移
function BindBtnDownMethod() {
var obj = $("#jqGridId");
var IDs = objgetDataIDs();
var rowid = objjqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == null || rowid == undefined) {
$modalAlert("未选中行!");
return false;
}
var rowIndex = getRowIndexByRowId(IDs, rowid);
if (rowIndex == (IDslength - 1)) {
$modalAlert('已经置底,不能下移!');
} else {
var srcrowid = getRowIdByRowIndex(IDs, rowIndex - 1);
var rowDownId = getRowIdByRowIndex(IDs, rowIndex + 1);
var rowData = objjqGrid('getRowData', rowid);
var rowDownData = objjqGrid('getRowData', rowDownId);
//删除当前行
objdelRowData(rowid);
objdelRowData(rowDownId);
//新插入一行
objaddRowData(rowDownId, rowDownData, "after", srcrowid);
objaddRowData(rowid, rowData, "after", rowDownId);
//默认再选中新增的这个行
objsetSelection(rowid);
}
}
打开CSDN APP,看更多技术内容
ListBox实现上移,下移,左移,右移的简单实例
主要介绍了ListBox实现上移,下移,左移,右移的简单实例。需要的朋友可以过来参考下,希望对大家有所帮助
JS与jQuery实现ListBox上移,下移,左移,右移 *** 作功能示例
主要介绍了JS与jQuery实现ListBox上移,下移,左移,右移 *** 作功能,涉及javascript与jQuery的事件响应、页面元素动态 *** 作等相关实现技巧,需要的朋友可以参考下
易语言汇编实现左移右移模块
易语言汇编实现左移右移模块源码系统结构:asm_rol,asm_ror,asm_rcl,asm_rcr,asm_shl,asm_shr,asm_not, ======程序集1 || ||------_启动子程序 || ||------_临时子程序 || ||------asm_rol || ||------asm_ror || ||-
易语言源码易语言汇编实现左移右移模块源码rar
假设角色id定义的name是jsid
取选中列的值如下
var gr = $("#list")getGridParam('selrow');
var jsid = $("#list")getCell(gr,"jsid")。
子表格也是一个jqgrid,你可以像 *** 作主表格一样 *** 作子表格的
subGridRowExpanded: function(subgrid_id, row_id) {
// we pass two parameters
// subgrid_id is a id of the div tag created whitin a table data
// the id of this elemenet is a combination of the "sg_" + id of the row
// the row_id is the id of the row
// If we wan to pass additinal parameters to the url we can use
// a method getRowData(row_id) - which returns associative array in type name-value
// here we can easy construct the flowing
var subgrid_table_id, pager_id;
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id)html("<table id='"+subgrid_table_id+"' class='scroll'</table<div id='"+pager_id+"' class='scroll'</div");
jQuery("#"+subgrid_table_id)jqGrid({
url:"subgridphpq=2&id="+row_id,
datatype: "xml",
colNames: ['No','Item','Qty','Unit','Line Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}],
rowNum:20,
pager: pager_id,
sortname: 'num',
sortorder: "asc",
然后子表格的 *** 作就是jQuery("#"+subgrid_table_id)jqGrid('getGridParam','selarrrow');
function formatState(cellValue, options, rowObject) {
var rowId = optionsrowId;
var html = cellValue;
if (html != "0") {
html = '<label style="color: red;" >' + cellValue + '</label>';
}
else {
html = '<label>' + cellValue + '</label>';
}
return html;
}
这是获取列中的值。首先绑定需要查看data的列头,这样就可以看row data中过的值了。如果你想获取一行的数据,edit:true时,选中的行就可以获取到啊。不知道是不是你的答案,虽然会jqgrid,可是不知道你的问题究竟是啥
onSelectRow: function (rowid, status) {
function();
},
onSelectAll: function (aRowids, status) {
function();
},
试试这两个方法,第一个是选择单行,第二个是选择所有的,用过的人应该了解,加在jqGrid的属性里面使用,
rowid是选择的当前行的Id,
aRowids是所有行的id,
status是选中行的状态,是选中还是没选择,
希望对你有用。
简单描述datatype参数的local和json值的区别:
1、当jqgrid的参数为datatype:"local"表示由前端先获取到jsonData,再set到jqgrid去渲染数据:
$('#table')jqGrid('setGridParam', {data: jsonData});$('#table')jqGrid({ data:jsonData, datatype:"local", loadonce: false,//更多参数请查看文档
})
2、当jqgrid的参数为datatype:"json"表示由jqgrid直接Ajax获取jsonData;
jqgrid的获取返回的数据源后是通过js把数据转换成了dom,通俗说就是<tr><td>内容1</td></tr>的html然后赋予到table对象的,让浏览器知道它是一个table的内容,浏览器就显示出来了。不导出数据想看数据源,IE的话可以使用fiddler监控>
以上就是关于jqgrid设置某列靠右全部的内容,包括:jqgrid设置某列靠右、jqgrid加载时获得表格中某个单元格的值怎么获取、怎么获取jqgrid表格的选中行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)