似乎有许多解决方案非常接近于解决我的问题,但是我所倾倒的几十个问题似乎并没有完全解决我正在尝试做的事情.虽然我看到几乎同样的问题没有答案.我尝试了很多选项和功能组合无济于事.
我想使用模态表单将带有输入值的新行添加到jqGrid,但我不希望它在提交时发布到服务器.我想最终发布到服务器,但只有在客户端用户对从模式表单添加的行执行了额外编辑(如果需要)之后.我不希望任何行保存到远程数据库,直到客户端执行了一些编辑,这些编辑又动态更新其他列.验证某个值的某个状态后,将显示"保存"按钮,并且可以将"网格"行发布到服务器.除非满足此验证条件,否则不会将行提交给数据库.我在我的应用程序的其他地方使用了一些jqGrids,它们发布了提交的模式表单的新行数据,但是这个网格我试图完成与客户端不同的东西,而不是立即涉及服务器.我喜欢使用客户端用户初始输入值的模态表单的更直观的界面,然后根据需要编辑内联新行的字段,这是我的问题所必需的:我可以将表单作为新行提交发生在服务器上的任何发布操作?
我在jqGrid Wiki资源中看到一个用户发表的评论,该用户说"clientArray"是输入的值,使用Grids模态表单提交选项"editurl:"clientArray"模式表单不会吐出"No URL is set "消息但它仍然存在并且新行未添加到网格中.我已将Grid数据类型设置为本地"数据类型:'clientSide'"但是获得相同的"No URL is set"错误消息.脚本是对于由自定义按钮调用的模态窗体非常简单,如下所示:
("footerrow,userDataOnFooter和altRows"选项作为更新值的一部分包含在摘要页脚中,该页脚与通过模态表单添加的新行的单元格执行的编辑相关)
jQuery("#grid_test").jqGrid({
url:'/grid_test_url.asp?id=' + vId,
datatype: "clientSide",
colNames: ['ID','Col 1', 'Col 2', 'Col 3','Col 4'],
colModel: [
{name:'id',index:'id',width:90,align:"center",editable:true,editoptions:{size:25}, formoptions: {...}, editrules: {...}},
{name:'col1',index:'col1',width:130,align:"right",editable:true,editoptions:{size:25}, formoptions: {}, editrules: {}},
{name:'col2',index:'col2',width:130,align:"right",editable:true,editoptions:{size: 25}, formoptions: {}, editrules: {}},
{name:'col3',index:'col3',width:130,align:"right",editable: true,editoptions:{size:25}, formoptions: {}, editrules: {}},
{name:'col4',index:'col4',width:130,align:"right",editable:true,editoptions:{ size: 25 }, formoptions: {}, editrules: {}}
],
rowNum:5,
rowList:[5,10,20],
pager: '#pgrid_test',
toolbar: [true, "top"],
editurl: '', //not sure what would go here to block attempted post by the …Run Code Online (Sandbox Code Playgroud) 我有一个很好的内联编辑示例jQGrid http://ok-soft-gmbh.com/jqGrid/TestSamle/Admin.htm 有两个自定义操作编辑和删除.
我想添加一个自定义内联Action,让我们称之为ToggleOnline.在此操作上,我想将网格的所有单元格发布到控制器.基本上它将是一种编辑操作,但它会为某些列设置一些默认值.
内联按钮添加如下:
{ name: 'act', index: 'act', width: 55, align: 'center', sortable: false, formatter: 'actions',
formatoptions: {
keys: true, // we want use [Enter] key to save the row and [Esc] to cancel editing.
delOptions: myDelOptions
}
}
Run Code Online (Sandbox Code Playgroud)
比添加自定义附加按钮我正在使用事件 loadComplete:
loadComplete: function(){
debugger;
var ids = jQuery("#Grid1").getDataIDs();
for(var i=0;i<ids.length;i++){
var cl = ids[i];
custom = "<input style='height:22px;width:20px;' type='button' value='E' onclick=jQuery('#Grid1').editRow(" + cl + "); />";
jQuery("#Grid1").setRowData(ids[i], { act: custom })
}
}
Run Code Online (Sandbox Code Playgroud)
但自定义按钮根本没有出现.而且我还需要以某种方式发布行数据,我还需要指定自定义操作名称(操作)来处理服务器上的此操作.
我在网格中有一个带有EditActionsIconsColumn的jqgrid,但我试图抓住Edit,Del和Submit上的click事件.谢谢
我试图修改该问题的样本自定义jQGrid post action http://ok-soft-gmbh.com/jqGrid/TestSamle/Admin1.htm以删除删除操作:
ondblClickRow: function (id, ri, ci) {
//...
$("div.ui-inline-edit", tr).hide();
//...
},
onSelectRow: function (id) {
//...
$("div.ui-inline-edit", tr).show();
//...
}
loadComplete: function () {
$("div.ui-inline-del", tr).hide();
}
Run Code Online (Sandbox Code Playgroud)
但没有帮助.
任何想法我怎么能这样做?