asp.net – JQGrid不显示数据
发布时间:2020-05-25 16:45:36 所属栏目:asp.Net 来源:互联网
导读:我为JQgrid和ASP.net创建了客户端和服务器端.显示网格但没有数据.我看不出结果.网格显示但没有数据. 服务器端 编码 using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Da
|
我为JQgrid和ASP.net创建了客户端和服务器端.显示网格但没有数据.我看不出结果.网格显示但没有数据. 服务器端 using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.Script.Serialization;
namespace sample
{
public struct JQGridResults
{
public int page;
public int total;
public int records;
public JQGridRow[] rows;
}
public struct JQGridRow
{
public int id;
public string[] cell;
}
[Serializable]
public class User
{
public int UserID
{ get; set; }
public string UserName
{ get; set; }
public string FirstName
{ get; set; }
public string MiddleName
{ get; set; }
public string LastName
{ get; set; }
public string EmailID
{ get; set; }
/// <summary>
/// Summary description for jqgridhandler
/// </summary>
public class jqGridHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
HttpRequest request = context.Request;
HttpResponse response = context.Response;
string _search = request["_search"];
string numberOfRows = request["rows"];
string pageIndex = request["page"];
string sortColumnName = request["sidx"];
string sortOrderBy = request["sord"];
int totalRecords;
Collection<User> users = GetUsers(numberOfRows,pageIndex,sortColumnName,sortOrderBy,out totalRecords);
string output = BuildJQGridResults(users,Convert.ToInt32(numberOfRows),Convert.ToInt32(pageIndex),Convert.ToInt32(totalRecords));
response.Write(output);
}
private string BuildJQGridResults(Collection<User> users,int numberOfRows,int pageIndex,int totalRecords)
{
JQGridResults result = new JQGridResults();
List<JQGridRow> rows = new List<JQGridRow>();
foreach (User user in users)
{
JQGridRow row = new JQGridRow();
row.id = user.UserID;
row.cell = new string[6];
row.cell[0] = user.UserID.ToString();
row.cell[1] = user.UserName;
row.cell[2] = user.FirstName;
row.cell[3] = user.MiddleName;
row.cell[4] = user.LastName;
row.cell[5] = user.EmailID;
rows.Add(row);
}
result.rows = rows.ToArray();
result.page = pageIndex;
result.total = totalRecords / numberOfRows;
result.records = totalRecords;
return new JavaScriptSerializer().Serialize(result);
}
private Collection<User> GetUsers(string numberOfRows,string pageIndex,string sortColumnName,string sortOrderBy,out int totalRecords)
{
Collection<User> users = new Collection<User>();
string connectionString = "";
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
command.CommandText = "select * from tblusers" ;
command.CommandType = CommandType.Text; // 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",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())
{
User user;
while (dataReader.Read())
{
user = new User();
user.UserID = (int)dataReader["UserID"];
user.UserName = Convert.ToString(dataReader["UserName"]);
user.FirstName = Convert.ToString(dataReader["FirstName"]);
user.MiddleName = Convert.ToString(dataReader["MiddleName"]);
user.LastName = Convert.ToString(dataReader["LastName"]);
user.EmailID = Convert.ToString(dataReader["EmailID"]);
users.Add(user);
}
}
totalRecords = (int)paramTotalRecords.Value;
}
return users;
}
}
public bool IsReusable
{
// To enable pooling,return true here.
// This keeps the handler in memory.
get { return false; }
}
}
}
}
客户端 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sample.aspx.cs" Inherits="sample.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<!-- The jQuery UI theme that will be used by the grid -->
<link rel="stylesheet" type="text/css" media="screen" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/themes/redmond/jquery-ui.css" />
<!-- The jQuery UI theme extension jqGrid needs -->
<link rel="stylesheet" type="text/css" media="screen" href="themes/ui.jqgrid.css" />
<!-- jQuery runtime minified -->
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.5.2.min.js" type="text/javascript"></script>
<!-- The localization file we need,English in this case -->
<script src="js/trirand/i18n/grid.locale-en.js"type="text/javascript"></script>
<!-- The jqGrid client-side javascript -->
<script src="js/trirand/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#UsersGrid").jqGrid({
url: 'jqGridHandler.ashx',datatype: 'json',height: 250,colNames: ['UserID','UserName','FirstName','MiddleName','LastName','EmailID'],colModel: [
{ name: 'UserID',index: 'UserID',width: 100,sortable: true },{ name: 'UserName',{ name: 'FirstName',{ name: 'MiddleName',{ name: 'LastName',{ name: 'EmailID',width: 150,sortable: true }
],rowNum: 10,rowList: [10,20,30],pager: '#UsersGridPager',sortname: 'UserID',viewrecords: true,sortorder: 'asc',caption: 'JSON Example'
});
$("#UsersGrid").jqGrid('navGrid','#UsersGridPager',{ edit: false,add: false,del: false });
});
</script>
</head>
<body>
<%--<form id="HtmlForm" runat="server">--%>
<table id="UsersGrid" cellpadding="0" cellspacing="0"></table>
<div id="UsersGridPager"></div>
<%-- </form>--%>
</body>
</html>
这有什么问题?数据不显示. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 清除ASP.NET临时文件缓存的麻烦
- asp.net – ReportViewer控件 – 高度问题
- asp.net-mvc – 401在MVC API中使用Microsoft Azure Active
- 如何将Ninject集成到ASP.NET Core 2.0 Web应用程序中?
- 使用Asp.Net MVC和Web Api配置Ninject
- asp.net-mvc – 了解nopCommerce的MVC标签
- asp.net – 转义HTML实体并避免WebForm标签中的HTML注入?
- asp.net – Orchard CMS和Sitefinity CMS
- asp.net-mvc – MVC4 Razor – @ Html.DisplayFor没有绑定到
- 如何检测ASP.NET应用程序中的SqlServer连接泄漏?
推荐文章
站长推荐
- asp.net – 有没有办法动态更新Web API CORS中允
- asp.net – .NET中的堆栈溢出将IIS发送到100%的
- asp.net-mvc-3 – 在Razor/MVC3中显示数据库映像
- asp.net-mvc – 使用ViewModel的MVC 3动态表单
- asp.net-mvc-4 – 如何在iframe src中使用Url.Ac
- asp.net-mvc – ASP.Net WebAPI区域支持
- asp.net-mvc – ASP.NET MVC从预览5升级到Beta版
- ASP.NET会话ID在浏览器选项卡之间共享
- 如何在非ASP.net上下文中使用C#中的数据验证属性
- asp.net – .NET Signalr MapConnection已经过时
热点阅读
