我有以下网格,其中包含来自本地数组的数据(我使用自己的自定义调用保存):
var datagrid = [
{name:"Id",description:"description",entityid:"12",amount:"100"},
{name:"Id2",description:"description",entityid:"17",amount:"200"}
];
$grid = $("#grid1").jqGrid({
datatype: "local",
data: datagrid,
height: "auto",
autowidth: true,
shrinkToFit: false,
colNames:['Name','Description', 'Entity', 'Amount', ''],
colModel:[
{index: 'name', name: 'name', editable: true, edittype: 'text'},
{index: 'description', name: 'description', editable: true, edittype: 'text'},
{index: 'entityid', name: 'entityid', editable: true, edittype: 'select', formatter: 'select', edittype: 'select', editoptions:
{
dataUrl: 'url/to/drop/down/data',
buildSelect: function(data)
{
return buildSelectFromJson(data, 'oid', 'oname');
}
}
},
{index: 'amount', name: 'amount', editable: true, edittype: 'text'},
{name:'act', index:'act', sortable:false, width: "140px"}
],
onSelectRow: function(rowid){
rowSelected('grid1', rowid);
},
rowNum: 500,
editurl: "clientArray",
caption: "Details",
ajaxSelectOptions: {contentType: "application/json", dataType: 'json'}
});
$grid.jqGrid('hideCol',['act']);
" entityid"旁边下拉我想添加一个按钮来显示弹出窗口以输入新实体。我想在弹出窗口关闭后在下拉列表中加载新实体。
以前我使用过 editoptions:{value:getValueFunction} 但是我在堆栈溢出中读了一些建议反对它,无论如何我在弹出窗口关闭后无法在下拉列表中加载新实体。但我能够以这种方式添加按钮:
function rowSelected(gridid, rowid){
var $grid = $("#" + gridid);
var rowData = $grid.jqGrid('getRowData', rowid);
$grid.jqGrid('showCol',["act"]);
var oneditfunction = function(){
var button = '<input id="newFieldRange" type="button" value="+"></input>';
$grid.find("select").parent().append(button);
$("#newEntity").on('click', function () {
newEntity(gridid, rowid);
});
};
$grid.jqGrid('editRow', rowid, {oneditfunc: oneditfunction});
}
对于 rowSelected 函数使用相同的代码以及上面针对网格显示的代码,不添加该按钮。下拉列表已成功填充数据。
我有以下问题:
1)如何向&#34;实体&#34;添加自定义按钮?细胞?这不是建议吗?出于简化的原因,我显示的列和数据不是真实数据。由于某些限制,您无法在下拉列表旁边添加其他列(我们使用&#39; act&#39;列为&#34;保存&#34;和&#34;取消&#34;按钮)。我想在下拉菜单的同一单元格中添加按钮。除非有其他解决方案。
2)关闭&#34;新实体&#34;后,如何强制下拉重新加载?弹出?我在jqGrid wiki中找不到任何东西。
编辑我可以使用jQGrid onsuccessfunc
的{{1}}添加按钮。但我被迫使用&#34; select&#34; jqgrid选择器没有指定id,因为和元素没有任何id。我可能需要添加另一个会导致问题的下拉列表。我错过了什么吗?
提前感谢您的回复。