有谁知道我怎么能够实现这个呢?
@更新 :
onSelectRow: function(ID){ var userType='<%=userDetails[1]%>'; alert("userType= " + userType); if(userType === 'Company administrator'){ jquery('#companyList').jqgrid('editRow',ID,true,inlineEditSuccess); } }解决方法 实施似乎很清楚.您只需在服务器端设置一个JavaScript变量,该变量将描述用户可以使用的编辑模式.您甚至可以允许某些用户编辑而不允许其他用户
如果您不想允许任何形式的编辑用于某些用途,您可以测试相应变量的值并调用navGrID取决于值:
if (my.formEditing) { $("#List").jqgrid('navGrID','#pager',....);}
或者你可以使用
if (my.formEditingOn) { $("#List").jqgrid('navGrID',{edit: my.formEditOn,add: my.formAddOn,add: my.formDelOn},....);}
如果您使用the answer中描述的技巧(参见the demo),您可以调用’navGrID’并创建所有导航按钮,但只能使选定的按钮可见取决于用户的权限.
如果使用内联编辑,您可以使用类似的内容
onSelectRow: function (ID) { if (!my.inlineEditing) { return; } //... $(this).jqgrid('editRow',...);}
my变量的初始化可能会有所不同,具体取决于您在服务器端使用的技术.最简单的是,我的变量可以在页面上定义为全局变量,因此可以在顶层定义.对于ASP.NET MVC,代码可能如下所示:
<%@ Page ......<asp:Content ID="Content3" ContentPlaceHolderID="head" runat="server"><%-- first include script which defines global my object based on the user rights --%><script type="text/JavaScript"> // initialize my based of Model propertIEs filled var my = { inlineEditing : ..,formEditOn : ...,formAddOn : ...,formDelOn : ... }</script><%-- Now include the main script which uses jqgrid --%><script type="text/JavaScript" src="<%= Url.Content(scriptPath) %>"></script>总结
以上是内存溢出为你收集整理的使用内联编辑将表单编辑到相同的jqgrid全部内容,希望文章能够帮你解决使用内联编辑将表单编辑到相同的jqgrid所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)