任何人都可以帮助删除asp.net c#中jqgrid的选定记录以获取以下代码
<script type="text/javascript">
var x = screen.width;
$(document).ready(function() {
jQuery("#table1").jqGrid({
url: 'griddata.aspx/DepartmentData?id=1',
datatype: 'json',
mtype: 'GET',
colNames: ['Department', 'Dept Code', 'Contact Person', 'Contact Phone','Contact Email'],
colModel: [
{ name: 'Department', index: 'Department', width: 55 },
{ name: 'Dept Code', index: 'Dept Code', width: 90 },
{ name: 'Contact Person', index: 'Contact Person', width: 40, align: 'center' },
{ name: 'Contact Phone', index: 'Contact Phone', width: 40, align: 'center' },
{ name: 'Contact Email', index: 'Conatct Email', width: 40, align: 'center' }],
pager: '#pager1',
rowNum: 15,
rowList: [10, 20, 30],
sortname: 'Department',
sortorder: "desc",
loadonce: true,
loadtext: "Loading....",
shrinkToFit: true,
multiselect: true,
emptyrecords: "No records to view",
width: x - 40,
height: 230,
rownumbers: true,
caption: 'DepartmentTable'
});
jQuery("#table1").jqGrid('navGrid', '#pager1', { edit: true, add: true, del: true });
});
</script>
答案 0 :(得分:1)
(可能是时候开始将这个对话从评论转移到答案了......)
我不是100%熟悉jqGrid中的这个特定功能(正如我在评论中所说,它自己的文档很难跟上它的开发),但基本上应该有两个东西中的一个“删除“功能正在寻找:
根据我过去使用jqGrid的经验,以及到目前为止的评论,听起来第一个选项就是它正在寻找的东西。在初始化的某个地方,jqGrid需要你设置一个它将发送删除的URL。此URL将是您自己设计的服务器端代码。
这意味着您还需要创建服务器端处理程序才能实现此目的。如果您使用的是ASP .NET MVC,这非常简单。控制器操作可以很好地完成工作,如果需要将任何内容发送回客户端,甚至可以非常轻松地返回JSON。如果您使用的是WebForms,则有两个主要选项:
application-json
或类似的东西。HttpHandler
,它没有.aspx页面的开销(在这方面更像是一个控制器动作)。它会做同样的事情,执行服务器端操作和所有这些,并手动制作响应。 (我假设有一个特定的响应,例如成功或失败的指示,可能是实际服务器错误的形式,如500.)您的jqGrid初始值设定项会设置一些属性,用于配置用于向服务器发送删除请求的URL。当然,这必须包括要删除的行的ID。从本质上讲,你有一个很多手动控制正在发生的事情。它不是真正的即插即用,你必须编写和理解代码。
编辑:如果你在服务器端进行客户端删除,那么你不需要在这里进行大量的jqGrid。您只需要一个ASP .NET按钮,它会回发到服务器,删除记录,并将页面数据(包括jqGrid数据)重新绑定到服务器的新数据集。请记住,这个后置模型并不是jqGrid的用途。
您可以在客户端为jqGrid删除添加一个按钮,如演示here(单击左侧的“实时数据操作”,然后单击“删除行”以查看示例)。然后你只需为该按钮的click事件编写一个JavaScript函数来处理删除。他们的例子是客户端删除:
$("#dedata").click(function(){
var gr = jQuery("#delgrid").jqGrid('getGridParam','selrow');
if( gr != null )
jQuery("#delgrid").jqGrid('delGridRow',gr,{reloadAfterSubmit:false});
else
alert("Please Select Row to delete!");
});
当然,你需要添加(正如我在评论中所说,客户端删除之前的,以防服务器上出现错误)一个AJAX调用来处理我上面谈过的服务器端删除。最直接的方法是使用jQuery .ajax方法。这将调用服务器端资源(控制器操作,HttpHandler或.aspx页面)来处理服务器端删除并返回成功或失败。
请记住,数据库中的服务器端删除与您在此处执行的操作完全不同。它也非常适用于互联网上的ADO .NET和LINQ以及实体框架文章和教程。基本上,你所要做的就是(根据你到目前为止的评论)是从.NET代码调用SQL存储过程。谷歌将就此产生许多结果。