JqGrid: Add,Edit,Del in asp.net
https://github.com/1rosehip/jplist
https://github.com/free-jqgrid/jqGrid
https://plugins.jquery.com/tag/pagination/
https://dotnetsourcedileep.codeplex.com/
/// https://sql2mongo.codeplex.com/
/// https://forums.asp.net/t/1629287.aspx?serverside+code+for+Add+Edit+Del+in+jQGrid
/// https://forums.asp.net/t/1627666.aspx?Edit+Add+Del+in+Jqgrid
/// http://trirand.net/examples/grid/editing_data/edit_add_delete/default.aspx
/// http://www.trirand.com/blog/?page_id=6
/// https://jqgridaspnetmvc.codeplex.com/
/// https://github.com/tpeczek/Lib.AspNetCore.Mvc.JqGrid
/// https://jqmvcgrid.codeplex.com/
/// http://jqgridaspnetmvc.codeplex.com/
/// https://mvccrud.codeplex.com/
/// http://www.trirand.net/download.aspx
/// https://dotnetsourcedileep.codeplex.com/
http://www.c-sharpcorner.com/uploadfile/rahul4_saxena/jqgrid-in-asp-net-c-sharp/
https://github.com/tonytomov/jqGrid
sql:
--jQGridDemo AdventureWorks2012
CREATE TABLE Employee
(
_id VARCHAR(100),
FirstName NVARCHAR(100),
LastName NVARCHAR(100),
LastSSN NVARCHAR(100),
Department NVARCHAR(100),
Age INT,
Salary NVARCHAR(100),
[Address] NVARCHAR(100),
MaritalStatus NVARCHAR(100)
)
GO SELECT * FROM dbo.Employee
GO INSERT dbo.Employee
( _id ,
FirstName ,
LastName ,
LastSSN ,
Department ,
Age ,
Salary ,
Address ,
MaritalStatus
)
VALUES ( '1' , -- _id - varchar(100)
N'du' , -- FirstName - nvarchar(100)
N'geovindu' , -- LastName - nvarchar(100)
N'N0002' , -- LastSSN - nvarchar(100)
N'IT' , -- Department - nvarchar(100)
40 , -- Age - int
N'40000' , -- Salary - nvarchar(100)
N'SZ' , -- Address - nvarchar(100)
N'1' -- MaritalStatus - nvarchar(100)
)
GO INSERT dbo.Employee
( _id ,
FirstName ,
LastName ,
LastSSN ,
Department ,
Age ,
Salary ,
Address ,
MaritalStatus
)
VALUES ( '2' , -- _id - varchar(100)
N'涂' , -- FirstName - nvarchar(100)
N'聚文' , -- LastName - nvarchar(100)
N'N0001' , -- LastSSN - nvarchar(100)
N'HR' , -- Department - nvarchar(100)
40 , -- Age - int
N'80000' , -- Salary - nvarchar(100)
N'SZ' , -- Address - nvarchar(100)
N'2' -- MaritalStatus - nvarchar(100)
)
GO INSERT dbo.Employee
( _id ,
FirstName ,
LastName ,
LastSSN ,
Department ,
Age ,
Salary ,
Address ,
MaritalStatus
)
VALUES ( '3' , -- _id - varchar(100)
N'涂' , -- FirstName - nvarchar(100)
N'斯博' , -- LastName - nvarchar(100)
N'N0003' , -- LastSSN - nvarchar(100)
N'HR' , -- Department - nvarchar(100)
10 , -- Age - int
N'80000' , -- Salary - nvarchar(100)
N'SZ' , -- Address - nvarchar(100)
N'3' -- MaritalStatus - nvarchar(100)
)
GO
Default.aspx:
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<script src="JQGridReq/jquery-1.9.0.min.js" type="text/javascript"></script>
<link href="JQGridReq/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
<script src="JQGridReq/jquery.jqGrid.js" type="text/javascript"></script>
<link href="JQGridReq/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="JQGridReq/grid.locale-cn.js" type="text/javascript"></script> <h2>
Welcome To Kodoths JQGrid Demo
</h2>
<table id="jQGridDemo">
</table>
<div id="jQGridDemoPager">
</div>
<script type="text/javascript">
jQuery("#jQGridDemo").jqGrid({
url: 'JQGridHandler.ashx',
datatype: "json",
height:500,
colNames: ['Id', 'First Name', 'Last Name', 'Last 4 SSN', 'Department', 'Age', 'Salary', "Address", 'Marital Status'], //名称
colModel: [
{ name: '_id', index: '_id', width: 20, stype: 'text' },
{ name: 'FirstName', index: 'FirstName', width: 150, stype: 'text', sortable: true, editable: true },
{ name: 'LastName', index: 'LastName', width: 150, editable: true },
{ name: 'LastSSN', index: 'LastSSN', width: 60, editable: true },
{ name: 'Department', index: 'Department', width: 80, align: "right", editable: true },
{ name: 'Age', index: 'Age', width: 40, align: "right", editable: true },
{ name: 'Salary', index: 'Salary', width: 80, align: "right", editable: true },
{ name: 'Address', index: 'Address', width: 150, sortable: false, editable: true },
{ name: 'MaritalStatus', index: 'MaritalStatus', width: 100, sortable: false, editable: true }
],
rowNum: 10,
mtype: 'GET',
loadonce: true,
rowList: [10, 20, 30],
pager: '#jQGridDemoPager',
sortname: '_id',
viewrecords: true,
sortorder: 'desc',
caption: "List Employee Details 客户列表",
editurl: 'JQGridHandler.ashx' //http://localhost:58404/
}); $('#jQGridDemo').jqGrid('navGrid', '#jQGridDemoPager',
{
edit: true,
add: true,
del: true,
search: true,
searchtext: "Search",
addtext: "Add",
edittext: "Edit",
deltext: "Delete"
},
{ //EDIT
// height: 300,
// width: 400,
// top: 50,
// left: 100,
// dataheight: 280,
closeOnEscape: true, //Closes the popup on pressing escape key
reloadAfterSubmit: true,
drag: true,
afterSubmit: function (response, postdata) {
if (response.responseText == "") { $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit
return [true, '']
}
else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after edit
return [false, response.responseText]//Captures and displays the response text on th Edit window
}
},
editData: {
EmpId: function () {
var sel_id = $('#jQGridDemo').jqGrid('getGridParam', 'selrow');
var value = $('#jQGridDemo').jqGrid('getCell', sel_id, '_id');
return value;
}
}
},
{
closeAfterAdd: true, //Closes the add window after add
afterSubmit: function (response, postdata) {
if (response.responseText == "") { $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')//Reloads the grid after Add
return [true, '']
}
else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid')//Reloads the grid after Add
return [false, response.responseText]
}
}
},
{ //DELETE
closeOnEscape: true,
closeAfterDelete: true,
reloadAfterSubmit: true,
closeOnEscape: true,
drag: true,
afterSubmit: function (response, postdata) {
if (response.responseText == "") { $("#jQGridDemo").trigger("reloadGrid", [{ current: true}]);
return [false, response.responseText]
}
else {
$(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid');
return [true, response.responseText]
}
},
delData: {
EmpId: function () {
var sel_id = $('#jQGridDemo').jqGrid('getGridParam', 'selrow');
var value = $('#jQGridDemo').jqGrid('getCell', sel_id, '_id');
return value;
}
}
},
{//SEARCH
closeOnEscape: true }
); </script>
JQGridHandler.ashx:
public class JQGridHandler : IHttpHandler
{
/// <summary>
///
/// </summary>
/// <param name="context"></param>
public void ProcessRequest(HttpContext context)
{
System.Collections.Specialized.NameValueCollection forms = context.Request.Form;
string strOperation = forms.Get("oper"); MONGOConnect objMC = new MONGOConnect();//Helper Class
var collectionEmployee = objMC.GetMongoCollection("Employee");//Gets Employee Collection List<Employee> emy = new List<Employee>();
//Employee ep = new Employee();
//ep._id = "1";
//ep.Address = "sz";
//ep.Age = 40;
//ep.Department = "it";
//ep.FirstName = "du";
//ep.LastName = "geovin";
//ep.LastSSN = "N0001";
//ep.MaritalStatus = "1";
//ep.Salary = "4000";
//emy.Add(ep);
//ep = new Employee();
//ep._id = "2";
//ep.Address = "深圳";
//ep.Age = 40;
//ep.Department = "人事部";
//ep.FirstName = "涂";
//ep.LastName = "涂聚文";
//ep.LastSSN = "N0002";
//ep.MaritalStatus = "1";
//ep.Salary = "8000";
//emy.Add(ep);
emy = getList(); string strResponse = string.Empty;
//查询
if (strOperation == null)
{
//oper = null which means its first load.
var jsonSerializer = new JavaScriptSerializer();
context.Response.Write(jsonSerializer.Serialize(emy));//collectionEmployee.AsQueryable<Employee>().ToList<Employee>() }
else if (strOperation == "del") //删除
{
var query = Query.EQ("_id", forms.Get("EmpId").ToString());
string de = forms.Get("EmpId").ToString();
//collectionEmployee.Remove(query);
strResponse = "Employee record successfully removed:"+de;
context.Response.Write(strResponse);
}
else
{
string strOut=string.Empty;
AddEdit(forms, collectionEmployee, out strOut);
context.Response.Write(strOut);
} } public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
private List<Employee> getList()
{
List<Employee> users = new List<Employee>();
string connectionString = @"Data Source=GEOVINDU; Initial Catalog=AdventureWorks2012; User ID=sa; Password=geovindu";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
command.CommandText = "SELECT * FROM dbo.Employee";
command.CommandType = CommandType.Text;
connection.Open();
using (SqlDataReader dataReader = command.ExecuteReader())
{
Employee user;
while (dataReader.Read())
{
user = new Employee();
user._id = Convert.ToString(dataReader["_id"]);
user.Address = Convert.ToString(dataReader["Address"]);
user.Age = Convert.ToInt32(dataReader["Age"]);
user.Department = Convert.ToString(dataReader["Department"]);
user.FirstName = Convert.ToString(dataReader["FirstName"]);
user.LastName = Convert.ToString(dataReader["LastName"]);
user.LastSSN = Convert.ToString(dataReader["LastSSN"]);
user.MaritalStatus = Convert.ToString(dataReader["MaritalStatus"]);
user.Salary = Convert.ToString(dataReader["Salary"]);
users.Add(user);
}
}
}
}
return users;
} /// <summary>
///
/// </summary>
/// <param name="numberOfRows"></param>
/// <param name="pageIndex"></param>
/// <param name="sortColumnName"></param>
/// <param name="sortOrderBy"></param>
/// <param name="totalRecords"></param>
/// <returns></returns>
private List<Employee> GetUsers(string numberOfRows, string pageIndex, string sortColumnName, string sortOrderBy, out int totalRecords)
{
List<Employee> users = new List<Employee>();
string connectionString = @"Data Source=GEOVINDU; Initial Catalog=AdventureWorks2012; User ID=sa; Password=geovindu";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
command.CommandText = "SelectjqGridUsers";
command.CommandType = CommandType.StoredProcedure; SqlParameter paramPageIndex = new SqlParameter("@PageIndex", SqlDbType.Int);
paramPageIndex.Value = Convert.ToInt32(pageIndex);
command.Parameters.Add(paramPageIndex); SqlParameter paramColumnName = new SqlParameter("@SortColumnName", SqlDbType.VarChar, 50);
paramColumnName.Value = sortColumnName;
command.Parameters.Add(paramColumnName); SqlParameter paramSortorderBy = new SqlParameter("@SortOrderBy", SqlDbType.VarChar, 4);
paramSortorderBy.Value = sortOrderBy;
command.Parameters.Add(paramSortorderBy); SqlParameter paramNumberOfRows = new SqlParameter("@NumberOfRows", SqlDbType.Int);
paramNumberOfRows.Value = Convert.ToInt32(numberOfRows);
command.Parameters.Add(paramNumberOfRows); SqlParameter paramTotalRecords = new SqlParameter("@TotalRecords", SqlDbType.Int);
totalRecords = 0;
paramTotalRecords.Value = totalRecords;
paramTotalRecords.Direction = ParameterDirection.Output;
command.Parameters.Add(paramTotalRecords); connection.Open();
using (SqlDataReader dataReader = command.ExecuteReader())
{
Employee user;
while (dataReader.Read())
{
user = new Employee();
user._id = Convert.ToString(dataReader["_id"]);
user.Address = Convert.ToString(dataReader["UserName"]);
user.Age = Convert.ToInt32(dataReader["Age"]);
user.Department = Convert.ToString(dataReader["Department"]);
user.FirstName = Convert.ToString(dataReader["FirstName"]);
user.LastName = Convert.ToString(dataReader["LastName"]);
user.LastSSN = Convert.ToString(dataReader["LastSSN"]);
user.MaritalStatus = Convert.ToString(dataReader["MaritalStatus"]);
user.Salary = Convert.ToString(dataReader["Salary"]);
users.Add(user);
}
}
totalRecords = (int)paramTotalRecords.Value;
} return users;
} } /// <summary>
/// 添加,修改
/// </summary>
/// <param name="forms"></param>
/// <param name="collectionEmployee"></param>
/// <param name="strResponse"></param>
private void AddEdit(NameValueCollection forms, MongoCollection collectionEmployee,out string strResponse)
{
string strOperation = forms.Get("oper");
string strEmpId = string.Empty;
if (strOperation == "add") //添加
{
var result = 40;// collectionEmployee.AsQueryable<Employee>().Select(c => c._id).Max();
strEmpId = (Convert.ToInt32(result) + 1).ToString();
}
else if (strOperation == "edit") //编辑
{
strEmpId = forms.Get("EmpId").ToString(); } string strFirstName = forms.Get("FirstName").ToString();
string strLastName = forms.Get("LastName").ToString();
string strLastSSN = forms.Get("LastSSN").ToString();
string strDepartment = forms.Get("Department").ToString();
string strAge = forms.Get("Age").ToString();
string strSalary = forms.Get("Salary").ToString();
string strAddress = forms.Get("Address").ToString();
string strMaritalStatus = forms.Get("MaritalStatus").ToString();
Employee objEmp = new Employee();
objEmp._id = strEmpId;
objEmp.FirstName = strFirstName;
objEmp.LastName = strLastName;
objEmp.LastSSN = strLastSSN;
objEmp.Department = strDepartment;
objEmp.Age = Convert.ToInt32(strAge);
objEmp.Address = strAddress;
objEmp.MaritalStatus = strMaritalStatus;
objEmp.Salary = strSalary; //collectionEmployee.Save(objEmp);
strResponse = "Employee record successfully updated";
}
}
JqGrid: Add,Edit,Del in asp.net的更多相关文章
- ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?
http://q.cnblogs.com/q/51693/ 这种的话,一般公用就好了.,如下的写法: [HttpGet] public ActionResult UserManage(int user ...
- ASTreeView Demo:Add, Edit & Delete nodes
http://www.jinweijie.com/ http://www.astreeview.com/astreeviewdemo/astreeviewdemo1.aspx 選擇節點: <sc ...
- Eclipse User Library Add/Edit/Remove
1:前文 近来开发项目采用的技术是AngularJS+Bootstrap+Spring Boot+SpringMvc+JPA 的方式,创建的项目是 Java Project,对应的JAR文件需要添加到 ...
- ASP.NET中使用JqGrid完整实现
文章提纲 介绍 & 使用场景 JqGrid的一些说明 JqGrid和ASP.NET整合详细步骤 前置准备 框架搭建 数据填充 数据增/删/改 其他 介绍&使用场景 JqGrid不是一个 ...
- Asp.Net MVC中使用ACE模板之Jqgrid
第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不 ...
- ACE模板之Jqgrid
Asp.Net MVC中使用ACE模板之Jqgrid 第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为 ...
- easyui-tabs 页签绑定click事件,动态加载jqgrid
.前台代码 <%-- builed by manage.aspx.cmt [ver:] at // :: --%> <%@ Page Language="C#" ...
- WinForm BaseClass类常用通用方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一)
相关的maven的 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
随机推荐
- SDWebImage之工具类
SDWebImage使用了很多工具类来对图片的处理,比如获取图片类型.图片放大缩小.GIF图片处理.图片解压缩处理等.下面我们来看一下这几个工具类. 1.NSData+ImageContentType ...
- Integer包装类源码分析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 今天上班的途中在手机里看到几道关于Integer拆装箱的小题目,正好有点时间翻看了一下Integer类的源码,加上自己的一点思考,决定写点 ...
- PHP 生成验证码(+图片没有显示的解决办法)
今天有需要用到验证码,就敲了个,毕竟用途比较广,所以打算把代码留下来,以后肯定用得上的.当然,今天在做的时候也是有一些问题的,分享出来吧,记录自己所犯的错误,避免以后再掉坑里. 先给个效果图(下面的真 ...
- so静态分析进阶练习——一个CreakeMe的分析思路
i春秋作家:HAI_ 原文来自:https://bbs.ichunqiu.com/thread-41371-1-1.html 说明 拿到一个CreakeMe,写一个分析思路.CreakMe主要是对.s ...
- asp.net mvc 安全测试漏洞 "跨站点请求伪造" 问题解决
IBM Security Appscan漏洞筛查-跨站请求伪造,该漏洞的产生,有多种情况: 1.WebApi的跨站请求伪造,需要对WebApi的请求头部做限制(此文不做详细介绍): 2.MVC Act ...
- Spark基础脚本入门实践3:Pair RDD开发
Pair RDD转化操作 val rdd = sc.parallelize(List((1,2),(3,4),(3,6))) //reduceByKey,通过key来做合并val r1 = rdd.r ...
- Xamarin.Android 无法检索到 Resource 问题
错误提示:当前上下文中不存在名称"Resource" 解决方法: 1.看是否有其他错误,如果有其他错误优先解决.(其他错误导致无法感知到Resource) 2.重新生成解决方案.( ...
- MySQL笔记(7)---事务
1.前言 前面具体讲了MySQL中的锁实现的方式,解释了是如何保证数据在并发情况下的可靠性,并提到了事务REPETABLE READ和READ COMMITTED,解释了一下这两种事务的不同.本章讲具 ...
- underscore.js源码解析【'_'对象定义及内部函数】
(function() { // Baseline setup // -------------- // Establish the root object, `window` (`self`) in ...
- CentOS 6.5的安装详解(图文详解)
不多说,直接上干货! 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS. 免费: RedHat 和CentOS差别不大,CentOS是一 ...