@{
ViewBag.Title = "UsersList";
} <script type="text/javascript"> $(function(){
BindData();
})
//当请求远程数据时,发送的额外参数。
function GetqueryParams() {
var Params = {};
Params.SearchRole = $("#SearchRole").combobox('getValue');
Params.Jzzhch = $("#txtUserZhxm").textbox('getValue');
return Params;
} function UserinfoSearch()
{
$("#dg").datagrid("reload",GetqueryParams());
}
//删除
function User_Del() {
var rows = $('#dg').datagrid("getSelections");
if (rows.length > ) {
$.messager.confirm("提示", "你确定要删除吗?", function (r) {
if (r) {
var ids = [];
for (var i = ; i < rows.length; i++) {
ids.push(rows[i].userid);
}
var jsonObject = JSON.stringify(ids);
DelRows(jsonObject);
}
});
}
else {
$.messager.alert("提示", "请选择要删除的行", "error");
}
} function DelRows(userids) {
$.ajax({
type: 'post',
dataType: "json", //返回json格式的数据
url: "UsersList_Del",
data: { 'UsersJson': userids },
cache: false,
success: function (Data) {
if (Data == "") {
$('#dg').datagrid("reload");
$.messager.alert("提示", "删除成功");
}
else {
$.messager.alert("提示", "删除失败", "error");
}
},
error: function (e) {
var msg = responseTextTitle(e.responseText);
$.messager.alert("提示", msg, "error");
}
});
} function getRowIndex(target) {
var tr = $(target).closest('tr.datagrid-row');
return parseInt(tr.attr('datagrid-row-index'));
} function EidtUserForm(target) {
var title="编辑";
if (target) {
var thisindex = getRowIndex(target);
var row = $('#dg').datagrid('getRows')[thisindex];
$('#txtuserid').textbox('readonly',true);
$('#txtuserzh').textbox('readonly',true);
$('#txtuserid').textbox("setValue",row.userid);
$('#txtuserzh').textbox('setValue',row.userzh);
$('#password1').textbox("setValue","");
$('#password2').textbox("setValue","");
$('#txtusername').textbox("setValue", row.username);
$('#userrole').combobox('setValues', row.role);
$("input[name='status'][value=" + row.status + "]").prop("checked", true);
$('#dg').datagrid('clearSelections');
}
else {
$('#txtuserid').textbox('readonly',true);
$('#txtuserzh').textbox('setValue',"");
$('#txtuserzh').textbox('readonly',false);
$('#txtuserid').textbox("setValue","");
$('#password1').textbox("setValue","");
$('#password2').textbox("setValue","");
$('#txtusername').textbox("setValue", "");
$('#userrole').combobox('setValues', "");
$("input[name='status'][value='1']").prop("checked", true);
title="新增";
}
$('#window_userinfo').window({
width: ,
title: title,
modal: true
});
$('#window_userinfo').window('open');
$('#window_userinfo').window('vcenter');
$('#window_userinfo').window('hcenter');
} function SaveUserInfo()
{
var isValid = $("#yzxx").form('enableValidation').form('validate');
if (!isValid) {
$.messager.progress('close'); // hide progress bar while the form is invalid
return isValid;
}
if($('#password1').textbox("getValue")!=$('#password2').textbox("getValue"))
{
$.messager.alert("提示", "两次密码输入不一样", "");
return false;
}
if($('#userrole').combobox("getValues")=="")
{
$.messager.alert("提示", "请选择角色", "");
return false;
}
//var userinfo = $('#yzxx').serializeObject();
var userinfo = new Object();
userinfo.userid=$('#txtuserid').textbox("getValue");
userinfo.userzh=$('#txtuserzh').textbox("getValue");
userinfo.username=$('#txtusername').textbox("getValue");
userinfo.passwd=$('#password1').textbox("getValue");
userinfo.role=$('#userrole').combobox('getValue');
userinfo.status=$("input[name='status']:checked").val();
var jsonObject = JSON.stringify(userinfo);
$.ajax({
type: 'post',
dataType: "json",
url: "@Url.Content("~/Home/UsersList_UsersInfoAddEdit")",
data: { 'json': jsonObject },
cache: false,
success: function (data) {
if (data == "") {
$.messager.alert("提示", "保存成功", "");
$('#dg').datagrid("reload");
$('#window_userinfo').window('close');
}
else {
$.messager.alert("提示", data.msg, "error");
}
},
error: function (e) {
$.messager.alert("提示", "保存失败" + e.toString(), "error");
}
});
} function BindData() {
var queryParams = GetqueryParams();
$('#dg').datagrid({
width: 'auto',
height: 'auto',
scrollbarSize: ,
autoRowHeight: false,
url: "@Url.Content("~/Home/UsersList_BindSearch")",
queryParams: queryParams,
checkOnSelect:false,
selectOnCheck:true,
idField: 'userid',
columns: [[
{ field: 'ck', title: '选择', sortable: true, checkbox: true },
{ field: 'userid', title: '编号', width: "10%", sortable: true },
{ field: 'userzh', title: '用户账号', width: "10%", sortable: true },
{ field: 'username', title: '姓名', width: "20%", sortable: true},
{ field: 'status', title: '状态', width: "20%", sortable: true,formatter:function(value, row, index){
return row.zt;
} },
{ field: 'role', title: '角色', width: "20%", sortable: true ,formatter:function(value, row, index){
return row.dmmc;
} },
{ field: 'action', title: '操作', width: "15%", align: 'center',
formatter: function (value, row, index) {
var e = '<a class="but-link" href="javascript:void(0)" onclick="EidtUserForm(this)"><span class="icon icon-edit"></span>编辑</a> ';
return e;
}
}
]],
onLoadSuccess: function(data){//加载完毕后获取所有的checkbox遍历
if (data.rows.length > ) {
//循环判断操作为新增的不能选择
for (var i = ; i < data.rows.length; i++) {
//根据userid让某些行不可选
if (data.rows[i].userid == "system") {
$("input[type='checkbox']")[i + ].disabled = true;//禁用
//$("input[type='checkbox']")[i + 1].remove();//移除
}
}
//$(".datagrid-header-check").html("");
}else
{
$(".div_empty").css({ "display": "block" });
$(this).closest('div.datagrid-wrap').find('div.datagrid-pager').hide();
} },
//当用户勾选全部行时触发
onCheckAll : function(rows) {
$("input[type='checkbox']").each(function(index, el) {
if(el.disabled== true){
$("#dg").datagrid('uncheckRow', index-);//此处参考其他人的代码,原代码为unselectRow
}
var checkboxHeader = $('div.datagrid-header-check input[type=checkbox]');//取到全选全不选这个元素
checkboxHeader.prop("checked","checked");//将其设置为checked即可
});
},
onClickRow: function(rowIndex, rowData){
//加载完毕后获取所有的checkbox遍历
$("input[type='checkbox']").each(function(index, el){
//如果当前的复选框不可选,则不让其选中
if (el.disabled == true) {
//POSStockHeadTable.datagrid('unselectRow', index - 1);
}
})
},
pageSize: ,
pageList: [, , , ],
fitColumns: true,
striped: true,
pagination: true, //分页控件
rownumbers: true, //行号
onLoadError: function (e) {
$.messager.alert("提示", "加载失败", "error");
}
}); } </script> <div class="tools-row">
<table width="100%" id="table" style="padding-left:8px; border-spacing:0px; border-collapse:separate;">
<tr>
<td style="height:28px;" colspan="">
@{
Html.RenderAction("SearchRole", "Shared");
}
账号(编号或姓名):<input class="easyui-textbox" id="txtUserZhxm" data-options="width:80"/>
&nbsp; &nbsp; <button id="btnsearch" type="button" class="but-default" onclick="UserinfoSearch()"><span class="icon icon-magnifier"></span> 查询</button>
</td>
</tr>
</table>
</div>
<div class="tools-row">
<table cellpadding="" cellspacing="" style="width:100%">
<tr>
<td align="right">
<button id="btnadd" type="button" class="but-primary" onclick="EidtUserForm()"><span class="icon icon-add"></span>新增</button>&nbsp;&nbsp;
<button id="btndel" type="button" class="but-primary" onclick="User_Del()"><span class="icon icon-delete"></span>删除</button> </td>
</tr>
</table>
</div>
<table id="dg"></table>
<div class="div_empty" style="height: 150px; display:none; border-top: 0px solid; background-color:White;">
<div style="width: 95%; text-align: center; border: 0px; margin-top: 5%; font-size:20px; font-family: 宋体;position: absolute">
暂无数据!
</div>
</div> <div id="window_userinfo" class="easyui-window" title="修改密码" data-options="modal:true,closed:true,region:'center'">
<form id="yzxx" method="post">
<table cellpadding="" class="basetable">
<tr>
<td>
编号(自动生成):
</td>
<td>
<input class="easyui-textbox" id="txtuserid" placeholder="自动生成" type="text" name="username"></input>
</td>
</tr>
<tr>
<td>
用户账号:
</td>
<td>
<input class="easyui-textbox" id="txtuserzh" type="text" name="username" data-options="required:true"></input>
</td>
</tr>
<tr>
<td>
姓名:
</td>
<td>
<input class="easyui-textbox" id="txtusername" type="text" name="username" data-options="required:true"></input>
</td>
</tr> <tr>
<td>
密码:
</td>
<td>
<input id="password1" class="easyui-textbox" type="password" data-options="required:true,validType:'length[6,50]'" />
</td>
</tr>
<tr>
<td>
确认密码:
</td>
<td>
<input id="password2" class="easyui-textbox" type="password" data-options="required:true,validType:'length[6,50]'" />
</td>
</tr> <tr>
<td>
角色:
</td>
<td>
@model YidiTutor.Models.comboboxModel_Json <input id="userrole" class="easyui-combobox" name="userrole" style="width:80px;" data-options="data:@Model.data,
method:'get',
editable:false,
valueField:'dm',
textField:'dmmc',
panelHeight:'auto'"/>
</td>
</tr>
<tr>
<td>
用户状态:
</td>
<td colspan="">
<input id="stauts1" type="radio" name="status" value="" /><label for="stauts0">启用</label>
<input id="stauts0" type="radio" name="status" value="" /><label for="stauts1">禁用</label>
</td>
</tr>
<tr>
<td colspan="" align="right">
<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-save'" style="width: 80px"
onclick="SaveUserInfo()">保存</a> <a href="javascript:void(0)" class="easyui-linkbutton"
data-options="iconCls:'icon-cancel'" onclick="$('#window_userinfo').window('close')" style="width: 80px">
取消</a>
</td>
</tr>
</table>
</form>
</div>

Easyui datagrid绑定数据,新增,修改,删除方法(一)的更多相关文章

  1. Easyui datagrid绑定数据,新增,修改,删除写法

    @{ ViewBag.Title = "xw_xsfl"; } <script type="text/javascript"> var editIn ...

  2. [转载]再次谈谈easyui datagrid 的数据加载

    这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...

  3. 谈谈easyui datagrid 的数据加载(转)

    这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...

  4. 再次谈谈easyui datagrid 的数据加载

    from:http://www.easyui.info/archives/204.html 这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实ea ...

  5. 谈谈easyui datagrid 的数据加载

    文章目录 1url方式加载数据 1.1调用方式 1.2相关方法 1.3二次加载问题 2加载本地数据方式 2.1调用方式 2.2如何分页 2.3加载中效果 2.4如何不统计总数 这篇文章只谈jQuery ...

  6. easyui datagrid 绑定json对象属性的属性

    今天用easyui 的datagrid绑定数据时,后台提供的数据是实体类类型的,其中有一个实体类A的属性b是另一个实体类B类型的,而前台需要显示b的属性c,这下就悲剧了,前台没法直接绑定了,后来脑筋一 ...

  7. Oracle忘记用户名和密码以及管理员用户新增修改删除用户

    Oracle忘记密码: 1.以管理员身份登录,打开dos窗口,输入 sqlplus / as sysdba 回车 2.查看当前用户和状态 select username, account_status ...

  8. WPF DataGrid 绑定数据及时更新的处理

    原文:WPF DataGrid 绑定数据及时更新的处理 默认情况下datagrid 绑定数据源后,在界面编辑某一列后,数据不会及时更新到内存对象中.如在同一行上有一个命令对来获取 当前选中行(内存对象 ...

  9. easyui datagrid 没数据时显示滚动条的解决方法

    今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...

随机推荐

  1. activiti如何获取当前节点以及下一步路径或节点(转)

    ACTIVITI相对于JBPM来说,比较年轻,用的人少,中文方面的资料更少,我根据网上到处找得资料以及看官方文档总结出来了代码,非常不容易啊.废话不多说,直接上代码吧: 首先是根据流程ID获取当前任务 ...

  2. Vue学习笔记:基础

    Vue实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的 插值 数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本插值 指令 指令的定义:Direct ...

  3. Prism-超轻量的开源框架

    http://msdn.microsoft.com/en-us/library/ff648465.aspx prism 是微软模式与实践小组开发的一个进行MVVM模式开发,其中使用依赖注入等一些方法将 ...

  4. Python之入门篇1

    一.安装python解释器 官网: https://www.python.org/downloads/windows/ 自行下载安装,添加环境变量 #测试安装是否成功 windows --> 运 ...

  5. jquery遍历之parent()与parents()的区别 及 parentsUntil() 方法

    来自:http://blog.csdn.net/zm2714/article/details/8117746 .parent(selector) 获得当前匹配元素集合中每个元素的父元素,由选择器筛选( ...

  6. TCP/IP协议(1):各层协议帧格式

    一. 1.OSI与TCP/IP对应: TCP/IP各层功能: 链路层:包括操作系统的设备驱动程序和计算机的网卡,提供底层传输服务.   网络层:为数据选择路由,在众多计算机和网络设备组成的网络中选择一 ...

  7. Matlab编辑器背景修改

    将下段代码如到C:\Users\Peng Chen\AppData\Roaming\MathWorks\MATLAB\R2016a\matlab.prf 先备份.prf,再替代之前的. #MATLAB ...

  8. 触摸屏 adb调试

    1.adb shell cat /proc/kmsg 这条命令肯定是要放在第一位的,可以打印内核信息,对应于驱动程序中的printk语句. 如果出现以下提示,说明权限不够,可以通过adb root获取 ...

  9. Ubuntu Server 命令行下的默认语言改为英语en_US.UTF-8

    源文链接:http://tonychiu.blog.51cto.com/656605/393131 如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手), ...

  10. (转)memcached注意事项

    转自:http://www.kaifajie.cn/kaiyuan_qita/8656.html 1.   key值最大长度? memcached的key的最大长度是250个字符. 注意250是mem ...