jqGrid重新创建表单参数
您好,我正在尝试将jqGrid的recreateForm参数设置为true,以解决使用自定义edittype列引起的问题。在这里,我发现最好的方式是写这行:jqGrid重新创建表单参数,jqgrid,Jqgrid,您好,我正在尝试将jqGrid的recreateForm参数设置为true,以解决使用自定义edittype列引起的问题。在这里,我发现最好的方式是写这行: jQuery.extend(jQuery.jgrid.edit, { recreateForm: true }); 我试过了,但没有成功。有人能帮我吗 我遇到的问题代码是 $(document).ready(function() { jQuery("#list").jqGrid({ url: '<%=U
jQuery.extend(jQuery.jgrid.edit, { recreateForm: true });
我试过了,但没有成功。有人能帮我吗
我遇到的问题代码是
$(document).ready(function() {
jQuery("#list").jqGrid({
url: '<%=Url.Action("buildGridData") %>',
editurl: '/tipomovi/Edit/',
datatype: 'json',
mtype: 'GET',
colNames: ['Codigo', 'Descripción', 'Tipo Movimiento', 'Inventario Propio',
'Tipo Mov. Soporte', 'Clase Bodega Destino'],
colModel: [
{ name: 'timocodi', index: 'timocodi', key: true, align: 'left',
width: 85, editable: true, edittype: 'text',
editrules: { required: true, integer: true} },
{ name: 'timodesc', index: 'timodesc', align: 'left', width: 300,
editable: true, edittype: 'text', editoptions: { maxlength: 40 },
editrules: { required: true} },
{ name: 'timosaen', index: 'timosaen', align: 'center', sortable: false,
width: 120, editable: true, edittype: 'custom',
editoptions: { custom_element: ESElement, custom_value: ESValue },
editrules: { required: true} },
{ name: 'timoprop', index: 'timoprop', align: 'center', sortable: false,
width: 120, editable: true, edittype: 'checkbox',
editoptions: { value: "S:N" }, editrules: { required: true} },
{ name: 'timomvso', index: 'timomvso', align: 'center', sortable: false,
width: 130, editable: true, edittype: 'text' },
{ name: 'clbodesc', index: 'clbodesc', align: 'left', sortable: false,
width: 200, editable: true, edittype: 'select',
editoptions: { size: 71 }, editrules: { required: true}}],
pager: $('#pager'),
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'timocodi',
sortorder: 'asc',
viewrecords: true,
viewsortcols: [true, 'vertical', true],
imgpath: '/content/redmond/images',
caption: 'Tipos de Movimientos de Inventario',
width: 'auto',
shrinkToFit: false,
height: 'auto',
loadComplete: function() {
jQuery('#list').setColProp('clbodesc', {editoptions: {value: clases}});
}
});
jQuery.extend(jQuery.jgrid.edit, { recreateForm: true });
});
$(文档).ready(函数(){
jQuery(“#list”).jqGrid({
url:“”,
editurl:“/tipomovi/Edit/”,
数据类型:“json”,
mtype:'获取',
colname:['Codigo'、'Descripción'、'Tipo moviminto'、'Inventario Propio',
“蒂波·莫夫·索波特”、“克莱斯·博迪加·德斯特诺”],
colModel:[
{name:'timocodi',index:'timocodi',key:true,align:'left',
宽度:85,可编辑:true,编辑类型:“文本”,
editrules:{required:true,integer:true}},
{名称:'timodesc',索引:'timodesc',对齐:'left',宽度:300,
可编辑:true,edittype:'text',editoptions:{maxlength:40},
editrules:{required:true}},
{name:'timosaen',index:'timosaen',align:'center',sortable:false,
宽度:120,可编辑:true,编辑类型:“自定义”,
editoptions:{custom_元素:ESElement,custom_值:ESValue},
editrules:{required:true}},
{name:'timoprop',index:'timoprop',align:'center',sortable:false,
宽度:120,可编辑:true,编辑类型:“复选框”,
editoptions:{value:“S:N”},editrules:{required:true},
{name:'timomvso',index:'timomvso',align:'center',sortable:false,
宽度:130,可编辑:true,编辑类型:'text'},
{name:'clbodesc',index:'clbodesc',align:'left',sortable:false,
宽度:200,可编辑:true,编辑类型:“选择”,
editoptions:{size:71},editrules:{required:true}}],
寻呼机:$(“#寻呼机”),
rowNum:10,
行列表:[10,20,30],
sortname:“timocodi”,
排序器:“asc”,
viewrecords:是的,
viewsortcols:[true'垂直',true],
imgpath:“/content/redmond/images”,
描述:“发明运动”主题,
宽度:“自动”,
shrinkToFit:错,
高度:“自动”,
loadComplete:function(){
jQuery('#list').setColProp('clbodesc',{editoptions:{value:clases}});
}
});
extend(jQuery.jgrid.edit,{recreateForm:true});
});
在哪里
函数元素(值、选项)
{
//调试器;
var v1=“”
var v2=“”
如果(值=“E”){
v1=“已检查”;
}
否则{
v2=“已检查”;
}
var elemStr='Entrada'+
“萨利达”;
返回$(elemStr)[0];
};
函数值(elem)
{
rb=elem[0]。全部[0]。选中+“”+elem[0]。全部[1]。选中;
返回rb;
};
奥列格,你好。下面是视图的完整代码:
<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Tipo de Movimiento
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Tipo de Movimiento de Materiales</h2>
Modo de Edición:
<input type="radio" name="rdEditApproach" onclick="inlineEdit();" /> En linea
<input type="radio" name="rdEditApproach" onclick="formEdit();" /> Forma<br /><br />
<%=Html.ActionLink("Ir al Menu", "Index", "Menu")%>
<table id="list" cellpadding="0" cellspacing="0"></table>
<div id="pager" style="text-align:center;"></div>
<script type="text/javascript">
var clases = $.ajax(
{ url: '/tipomovi/clase/', async: false,
success: function(data, result) {
if (!result)
alert('Fallo recuperacion de clases de Bodega');
}
}).responseText;
var lastSel;
$(document).ready(function() {
jQuery("#list").jqGrid({
url: '<%=Url.Action("buildGridData") %>',
editurl: '/tipomovi/Edit/',
datatype: 'json',
mtype: 'GET',
colNames: ['Codigo', 'Descripción', 'Tipo Movimiento', 'Inventario Propio', 'Tipo Mov. Soporte', 'Clase Bodega Destino'],
colModel: [
{ name: 'timocodi', index: 'timocodi', key: true, align: 'left', width: 85, editable: true, edittype: 'text', editrules: { required: true, integer: true} },
{ name: 'timodesc', index: 'timodesc', align: 'left', width: 300, editable: true, edittype: 'text', editoptions: { maxlength: 40 }, editrules: { required: true} },
{ name: 'timosaen', index: 'timosaen', align: 'center', sortable: false, width: 120, editable: true, edittype: 'custom',
editoptions: { custom_element: ESElement, custom_value: ESValue }, editrules: { required: true}
},
{ name: 'timoprop', index: 'timoprop', align: 'center', sortable: false, width: 120, editable: true, edittype: 'checkbox', editoptions: { value: "S:N" }, editrules: { required: true} },
{ name: 'timomvso', index: 'timomvso', align: 'center', sortable: false, width: 130, editable: true, edittype: 'text' },
{ name: 'clbodesc', index: 'clbodesc', align: 'left', sortable: false, width: 200, editable: true, edittype: 'select', editoptions: { size: 71 }, editrules: { required: true}}],
pager: $('#pager'),
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'timocodi',
sortorder: 'asc',
viewrecords: true,
viewsortcols: [true, 'vertical', true],
imgpath: '/content/redmond/images',
caption: 'Tipos de Movimientos de Inventario',
width: 'auto',
shrinkToFit: false,
height: 'auto',
loadComplete: function() {
jQuery('#list').setColProp('clbodesc', { editoptions: { value: clases} });
}
});
jQuery.extend(jQuery.jgrid.edit, { recreateForm: true });
});
function ESElement(value, options)
{
//debugger;
var v1 = ""
var v2 = ""
if (value == "E") {
v1 = "checked";
}
else {
v2 = "checked";
}
var elemStr = '<div><input type="radio" name="es" id="entrada" value="E" ' + v1 + ' /> Entrada ' +
' <input type="radio" name="es" id="salida" value="S" ' + v2 + ' /> Salida </div>';
return $(elemStr)[0];
};
function ESValue(elem)
{
rb = elem[0].all[0].checked + ' ' + elem[0].all[1].checked;
return rb;
};
function inlineEdit() {
$('input[name=rdEditApproach]').attr('disabled', true);
$('#list').navGrid(
'#pager',
//Activando botones
{add: true, del: true, edit: false, search: false },
//opciones de adición
{width: 'auto', url: '/tipomovi/Create/' },
//delete options
{url: '/tipomovi/Delete/' }
);
//add onSelectRow event to support inline edit
$('#list').setGridParam({
onSelectRow: function(id) {
if (id && id != lastSel) {
//save changes in row
$('#list').saveRow(lastSel, false);
lastSel = id;
}
//trigger inline edit for row
$('#list').editRow(id, true);
}
});
};
function formEdit() {
$('input[name=rdEditApproach]').attr('disabled', true);
$('#list').navGrid(
'#pager',
//enabling buttons
{add: true, del: true, edit: true, search: true},
//edit option
{width: 'auto'},
//add options
{width: 'auto', url: '/tipomovi/Create/' },
//delete options
{ url: '/tipomovi/Delete/',
width: 'auto',
afterSubmit: function(r, d) {
return [r.responseText == "", r.responseText];}
},
//search options
{url: '/tipomovi/buildGridData/', width: 'auto', closeAfterSearch: true }
);
}; // function FormEdit
</script>
</asp:Content>
蒂波德莫维门托酒店
材料的移动
医疗方式:
直线
形式
var clases=$.ajax(
{url:'/tipomovi/clase/',async:false,
成功:功能(数据、结果){
如果(!结果)
警觉(“酒馆之法复发”);
}
}).responseText;
var lastSel;
$(文档).ready(函数(){
jQuery(“#list”).jqGrid({
url:“”,
editurl:“/tipomovi/Edit/”,
数据类型:“json”,
mtype:'获取',
colNames:['Codigo','Descripción','Tipo Movimento','Inventario Propio','Tipo Mov.Soport','Clase Bodega Destino'],
colModel:[
{name:'timocodi',index:'timocodi',key:true,align:'left',width:85,edit:true,edittype:'text',editrules:{required:true,integer:true},
{name:'timodesc',index:'timodesc',align:'left',width:300,edittype:'text',editoptions:{maxlength:40},editrules:{required:true},
{name:'timosaen',index:'timosaen',align:'center',sortable:false,width:120,editable:true,edittype:'custom',
editoptions:{custom_元素:ESElement,custom_值:ESValue},editrules:{required:true}
},
{name:'timoprop',index:'timoprop',align:'center',sortable:false,width:120,edittype:'checkbox',editoptions:{value:'S:N'},editrules:{required:true},
{name:'timomvso',index:'timomvso',align:'center',sortable:false,width:130,editable:true,edittype:'text'},
{name:'clbodesc',index:'clbodesc',align:'left',sortable:false,width:200,edittype:'select',editoptions:{size:71},editrules:{required:true}],
寻呼机:$(“#寻呼机”),
rowNum:10,
行列表:[10,20,30],
sortname:“timocodi”,
排序器:“asc”,
viewrecords:是的,
viewsortcols:[true'垂直',true],
imgpath:“/content/redmond/images”,
描述:“发明运动”主题,
宽度:“自动”,
shrinkToFit:错,
高度:“自动”,
loadComplete:function(){
jQuery('#list').setColProp('clbodesc',{editoptions:{value:clases}});
}
});
extend(jQuery.jgrid.edit,{recreateForm:true});
});
函数元素(值、选项)
{
//调试器;
var v1=“”
var v2=“”
如果(值=“E”){
v1=“已检查”;
}
否则{
v2=“已检查”;
}
var elemStr='Entrada'+
“萨利达”;
返回$(elemStr)[0];
<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Tipo de Movimiento
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Tipo de Movimiento de Materiales</h2>
Modo de Edición:
<input type="radio" name="rdEditApproach" onclick="inlineEdit();" /> En linea
<input type="radio" name="rdEditApproach" onclick="formEdit();" /> Forma<br /><br />
<%=Html.ActionLink("Ir al Menu", "Index", "Menu")%>
<table id="list" cellpadding="0" cellspacing="0"></table>
<div id="pager" style="text-align:center;"></div>
<script type="text/javascript">
var clases = $.ajax(
{ url: '/tipomovi/clase/', async: false,
success: function(data, result) {
if (!result)
alert('Fallo recuperacion de clases de Bodega');
}
}).responseText;
var lastSel;
$(document).ready(function() {
jQuery("#list").jqGrid({
url: '<%=Url.Action("buildGridData") %>',
editurl: '/tipomovi/Edit/',
datatype: 'json',
mtype: 'GET',
colNames: ['Codigo', 'Descripción', 'Tipo Movimiento', 'Inventario Propio', 'Tipo Mov. Soporte', 'Clase Bodega Destino'],
colModel: [
{ name: 'timocodi', index: 'timocodi', key: true, align: 'left', width: 85, editable: true, edittype: 'text', editrules: { required: true, integer: true} },
{ name: 'timodesc', index: 'timodesc', align: 'left', width: 300, editable: true, edittype: 'text', editoptions: { maxlength: 40 }, editrules: { required: true} },
{ name: 'timosaen', index: 'timosaen', align: 'center', sortable: false, width: 120, editable: true, edittype: 'custom',
editoptions: { custom_element: ESElement, custom_value: ESValue }, editrules: { required: true}
},
{ name: 'timoprop', index: 'timoprop', align: 'center', sortable: false, width: 120, editable: true, edittype: 'checkbox', editoptions: { value: "S:N" }, editrules: { required: true} },
{ name: 'timomvso', index: 'timomvso', align: 'center', sortable: false, width: 130, editable: true, edittype: 'text' },
{ name: 'clbodesc', index: 'clbodesc', align: 'left', sortable: false, width: 200, editable: true, edittype: 'select', editoptions: { size: 71 }, editrules: { required: true}}],
pager: $('#pager'),
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'timocodi',
sortorder: 'asc',
viewrecords: true,
viewsortcols: [true, 'vertical', true],
imgpath: '/content/redmond/images',
caption: 'Tipos de Movimientos de Inventario',
width: 'auto',
shrinkToFit: false,
height: 'auto',
loadComplete: function() {
jQuery('#list').setColProp('clbodesc', { editoptions: { value: clases} });
}
});
jQuery.extend(jQuery.jgrid.edit, { recreateForm: true });
});
function ESElement(value, options)
{
//debugger;
var v1 = ""
var v2 = ""
if (value == "E") {
v1 = "checked";
}
else {
v2 = "checked";
}
var elemStr = '<div><input type="radio" name="es" id="entrada" value="E" ' + v1 + ' /> Entrada ' +
' <input type="radio" name="es" id="salida" value="S" ' + v2 + ' /> Salida </div>';
return $(elemStr)[0];
};
function ESValue(elem)
{
rb = elem[0].all[0].checked + ' ' + elem[0].all[1].checked;
return rb;
};
function inlineEdit() {
$('input[name=rdEditApproach]').attr('disabled', true);
$('#list').navGrid(
'#pager',
//Activando botones
{add: true, del: true, edit: false, search: false },
//opciones de adición
{width: 'auto', url: '/tipomovi/Create/' },
//delete options
{url: '/tipomovi/Delete/' }
);
//add onSelectRow event to support inline edit
$('#list').setGridParam({
onSelectRow: function(id) {
if (id && id != lastSel) {
//save changes in row
$('#list').saveRow(lastSel, false);
lastSel = id;
}
//trigger inline edit for row
$('#list').editRow(id, true);
}
});
};
function formEdit() {
$('input[name=rdEditApproach]').attr('disabled', true);
$('#list').navGrid(
'#pager',
//enabling buttons
{add: true, del: true, edit: true, search: true},
//edit option
{width: 'auto'},
//add options
{width: 'auto', url: '/tipomovi/Create/' },
//delete options
{ url: '/tipomovi/Delete/',
width: 'auto',
afterSubmit: function(r, d) {
return [r.responseText == "", r.responseText];}
},
//search options
{url: '/tipomovi/buildGridData/', width: 'auto', closeAfterSearch: true }
);
}; // function FormEdit
</script>
</asp:Content>