62,041
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="EasyUI_test.jquery_easyui.demo.datagrid.WebForm3" %>
<!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>
<script src="../../jquery.min.js" type="text/javascript"></script>
<script src="../../jquery.easyui.min.js" type="text/javascript"></script>
<link href="../demo.css" rel="stylesheet" type="text/css" />
<link href="../../themes/icon.css" rel="stylesheet" type="text/css" />
<link href="../../themes/default/easyui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
$('#tdd').datagrid({
title: '物料管理',
width: 1000,
url: "Handler1.ashx", //接收一般处理程序返回来的json数据
method: 'get',
columns: [[
{ field: 'id', title: 'id', width: 100 }, //field后面就改为你自己的数据表字段,然后可以调整宽度什么的
{field: 'item', title: '物料', width: 100, align: 'right' },
{ field: 'dsca', title: '名称', width: 100, align: 'left' }
]],
pagination: true,
pageSize: 5,
pageList: [5, 10, 15]
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="tdd">
</table>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Text;
using System.Data.SqlClient;
using Newtonsoft.Json;
namespace EasyUI_test.jquery_easyui.demo.datagrid
{
/// <summary>
/// GetDataFormSql 的摘要说明
/// </summary>
public class GetDataFormSql : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int page = 1, rows = 10;
//EasyUI自带的两个参数rows与page ,表示当前页与行数
if (context.Request.QueryString["rows"] != null)
{
rows = int.Parse(context.Request.QueryString["rows"].ToString().Trim());
}
if (context.Request.QueryString["page"] != null)
{
page = int.Parse(context.Request.QueryString["page"].ToString().Trim());
}
//查询分页 stratIndex endIndex
int stratIndex, endIndex;
stratIndex = (page - 1) * rows + 1;
endIndex = page * rows;
//查询数据库
SqlHelper sqlhelper = new SqlHelper();
//获取查询数据的行数
int count = sqlhelper.EUGetRecordCount();
//封装数据到dataset
DataSet ds = sqlhelper.GetListByPage(stratIndex, endIndex);
//将dataset转化为Json格式
string strToJon = ToJson.DatasetJson(ds, count);
context.Response.Write(strToJon);
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
public class SqlHelper
{
protected static readonly string conStr = "uid=sa;pwd=123456;database=kb;server=localhost;";
/// <summary>
/// 将数据填充到dataset
/// </summary>
/// <param name="sqlcon">查询语句</param>
/// <returns>返回一个dataset</returns>
public DataSet Query(string sqlcon)
{
using (SqlConnection conn = new SqlConnection(conStr))
{
DataSet ds = new DataSet();
try
{
conn.Open();
SqlDataAdapter dapter = new SqlDataAdapter(sqlcon, conn);
dapter.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
}
}
public static object GetSingle(string SQLString)
{
using (SqlConnection connection = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
/// <summary>
///
/// </summary>
/// <param name="strWhere"></param>
/// <param name="sqltable"></param>
/// <returns></returns>
public int EUGetRecordCount()
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM t_item ");
object obj = GetSingle(strSql.ToString());
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
/// <summary>
/// 查询分页数据,封装到dataset
/// </summary>
/// <param name="startIndex"></param>
/// <param name="endIndex"></param>
/// <returns></returns>
public DataSet GetListByPage(int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
strSql.Append("order by T.ID asc");
strSql.Append(")AS Row, T.* from t_item " + " T ");
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return Query(strSql.ToString());
}
}
public class ToJson
{
/// <summary>
/// DataSet转换成Json格式
/// </summary>
/// <param name="ds">DataSet</param>
/// <returns></returns>
public static string DataTable2Json(DataTable dt)
{
StringBuilder jsonBuilder = new StringBuilder();
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonBuilder.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonBuilder.Append("\"");
jsonBuilder.Append(dt.Columns[j].ColumnName);
jsonBuilder.Append("\":\"");
jsonBuilder.Append(dt.Rows[i][j].ToString());
jsonBuilder.Append("\",");
}
if (dt.Columns.Count > 0)
{
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
}
jsonBuilder.Append("},");
}
if (dt.Rows.Count > 0)
{
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
}
return jsonBuilder.ToString();
}
public static string DatasetJson(DataSet ds, int total = -1)
{
StringBuilder json = new StringBuilder();
foreach (DataTable dt in ds.Tables)
{
json.Append("{\"total\":");
if (total == -1)
{
json.Append(dt.Rows.Count);
}
else
{
json.Append(total);
}
json.Append(",\"rows\":[");
json.Append(DataTable2Json(dt));
json.Append("]}");
} return json.ToString();
}
}
}