使用Jquery / Json绑定Gridview不会超过500条记录 [英] Binding Gridview with Jquery/Json Not getting more than 500 records
本文介绍了使用Jquery / Json绑定Gridview不会超过500条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我用json绑定gridview的代码
Default.aspx
<%@ Page 语言 = C# AutoEventWireup < span class =code-keyword> = true CodeFile = Default2.aspx.cs 继承 = Default2 %>
< !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/19 99 / xhtml >
< head id = Head1 runat = 服务器 >
< title > < / title >
< script 类型 = text / java的脚本 src = http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js > ; < / script >
< script type = text / javascript >
$( function (){
$ .ajax({
type: POST,
url: Default2.aspx / GetCustomers,
data:' {}',
contentType: application / json ; charset = utf-8,
dataType: json,
成功:OnSuccess,
失败: function (回复){
alert(response.d);
},
错误: function (响应){
alert(response.d);
}
});
});
function OnSuccess(响应){
var xmlDoc = $ .parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find( 表 );
var row = $( [id * = gvCustomers] tr:last-child)。clone( true );
$( [id * = gvCustomers] tr)。 ($( [id * = gvCustomers] tr:first-child))。remove() ;
$ .each(客户,功能(){
var customer = $( this );
$( td,row).eq( 0 )。html($( this )。find( ShipmentNo)。text()) ;
$( td,row).eq( 1 )。html($( this )。find( 路由)。text());
$( td,row).eq( 2 )。html($( this )。find( Ordernumber)。text());
$( td,row).eq( 3 )。html($( this )。find( TruckNo)。text());
$( td,row).eq( 4 )。html($( this )。find( 仓库)。text());
$( td,row).eq( 5 )。html($( this )。find( CustomerName)。text());
$( td,row).eq( 6 )。html($( this )。find( StausCode)。text());
$( td,row).eq( 7 )。html($( this )。find( ETA)。text());
$( td,row).eq( 8 )。html($( this )。find( 延迟)。text());
$( td,row).eq( 9 )。html($( this )。find( StatusColor)。text());
$( [id * = gvCustomers])。append(行);
row = $( [id * = gvCustomers] tr:last-child).clone( true );
});
}
< / script >
< / head >
< 正文 >
< form id = form1 runat = server >
< ASP:GridView的 ID = gvCustomers runat = 服务器 AutoGenerateColumns = false 字体名称 = Arial < span class =code-attribute>
< span class =code-attribute> 字体大小 = 10pt RowStyle-BackColor = #A1DCF2 HeaderStyle-BackColor = #3AC0F2
HeaderStyle-ForeColor = 白色 >
< 列 >
< asp:BoundField ItemStyle-宽度 = 150px DataField = TruckNo HeaderText = TruckNo / >
< asp:BoundField ItemStyle-Width = 150px DataField = 路线 HeaderText = 路线 / >
< asp:BoundField ItemStyle-Width = 150px DataField = ShipmentNo HeaderText = ShipmentNo / >
< asp:BoundField ItemStyle-Width = 50px DataField = Ordernumber HeaderTe xt = Ordernumber / >
< asp:BoundField ItemStyle-Width = 50px DataField = 仓库 HeaderText = 仓库 / >
< asp:BoundField ItemStyle-Width = 50px DataField = 客户名称 HeaderText = 客户名称 / >
< asp:BoundField ItemStyle-Width = 50px DataField = StausCode HeaderText = StausCode / >
< asp:BoundField ItemStyle-Width = 50px DataField = ETA HeaderText = ETA / >
< asp:BoundField ItemStyle-Width = 50px DataField = 延迟 HeaderText = 延迟 / >
< asp:BoundField ItemStyle-Width = 50px DataField = StatusColor HeaderText = StatusColor / >
< /列 >
< / asp:GridView >
< / form >
< / body >
< / html >
Default.aspx.cs
使用System;使用System.Collections.Generic
;使用System.Linq
;使用System.Web
;使用System.Web.UI
;使用System.Web.UI.WebControls
;
使用System.Data;使用System.Web.Services
;使用System.Data.SqlClient
;使用System.Configuration
;
公共部分类Default2:System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
this.BindDummyRow();
}
}
private void BindDummyRow()
{
DataTable dummy = new DataTable();
dummy.Columns.Add(ShipmentNo);
dummy.Columns.Add(Route);
dummy.Columns.Add(Ordernumber);
dummy.Columns.Add(TruckNo);
dummy.Columns.Add(仓库);
dummy.Columns.Add(CustomerName);
dummy.Columns.Add(StausCode);
dummy.Columns.Add(ETA);
dummy.Columns.Add(延迟);
dummy.Columns.Add(StatusColor);
dummy.Rows.Add();
gvCustomers.DataSource = dummy;
gvCustomers.DataBind();
}
[WebMethod]
公共静态字符串GetCustomers()
{
string query =SP_TEST_BindDataToGridJQ;
SqlCommand cmd = new SqlCommand(query);
返回GetData(cmd).GetXml();
}
私有静态DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings [的ConnectionString]的ConnectionString。
使用(SqlConnection con = new SqlConnection(strConnString))
{
using(SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
cmd.CommandType = CommandType.StoredProcedure;
使用(DataSet ds = new DataSet())
{
sda.Fill(ds);
返回ds;
}
}
}
}
}
使用上面的代码...我的收益不超过500记录为什么?
SP:
ALTER PROCEDURE [dbo]。[SP_TEST_BindDataToGridJQ]
- 在这里添加存储过程的参数
AS
BEGIN
- 添加SET NOCOUNT ON以防止
的额外结果集 - 干扰SELECT语句。
SET NOCOUNT ON;
SELECT ROW_NUMBER()OVER(ORDER BY dbo.tbl_pms_JobOrders.JobID)AS Sno,
dbo.tbl_pms_JobOrders.Ordernumber,
dbo.tbl_pms_ShipmentInfo.ShipmentNo,
dbo .tbl_pms_Trucks.TruckNo,
dbo.tbl_pms_JobOrders.Route,
dbo.tbl_pms_Warehouses.Name作为仓库,
dbo.tbl_pms_JobOrders.CustomerName,
dbo.tbl_pms_JobOrders_Trucks_Info.StausCode,
dbo.tbl_pms_JobOrders_Trucks_Info.ETA,
dbo.tbl_pms_JobOrders.JobID,
dbo.tbl_pms_JobOrders.Ordertype,
(tbl_pms_iComETAInfo.ETA不为空时的情况,然后是
DATEDIFF(第二,dbo) .tbl_pms_JobOrders_Trucks_Info.ETA,tbl_pms_iComETAInfo.ETA)
else''end)[延迟],
(tbl_pms_JobOrders_Trucks_Info.StausCode = 1时的情况,然后是tbl_pms_JobOrders_Trucks_Info.StausCode时'Blue'
= 2然后'绿色'
当tbl_pms_JobOrders_Trucks_Info.StausCode = 3然后'Red'
当tbl_pms_JobOrders_Trucks_Info.Stau sCode = 4然后'黄色'
其他'黑'结束)StatusColor
FROM dbo.tbl_pms_JobOrders
INNER JOIN dbo.tbl_pms_JobOrders_Trucks_Info ON dbo.tbl_pms_JobOrders.JobID = dbo.tbl_pms_JobOrders_Trucks_Info.JobID
INNER JOIN dbo.tbl_pms_ShipmentInfo ON dbo.tbl_pms_JobOrders_Trucks_Info.ShipmentID = dbo.tbl_pms_ShipmentInfo.ShipmentID
INNER JOIN dbo.tbl_pms_Trucks ON dbo.tbl_pms_JobOrders_Trucks_Info.TruckID = dbo.tbl_pms_Trucks.TruckID
INNER JOIN dbo.tbl_pms_Warehouses ON dbo.tbl_pms_JobOrders.WarehouseID = dbo.tbl_pms_Warehouses.WarehouseID
LEFT OUTER JOB tbl_pms_iComETAInfo on tbl_pms_JobOrders.JobID = tbl_pms_iComETAInfo.JobID
WHERE - (dbo.tbl_pms_JobOrders。 Planneddate ='20140206')
dbo.tbl_pms_JobOrders.WarehouseID = 225
和dbo.tbl_pms_Trucks.TruckNo ='W1227B'
和dbo.tbl_pms_JobOrders_Trucks_Info.StausCode = 2
和dbo。 tbl_pms_ShipmentInfo.ShipmentNo ='1279411'
- 或dbo.tbl_pms_Trucks.TruckNo ='W1238B'
和dbo.tbl_pms_Trucks.IsDeleted = 0和dbo.tbl_pms_Trucks.TruckID!= 312
ORDER BY dbo.tbl_pms_ShipmentInfo.ShipmentNo,
dbo.tbl_pms_JobOrders_Trucks_Info.ETA,
dbo.tbl_pms_JobOrders.Ordernumber
END
谢谢提前:)请帮帮我
解决方案
( function (){
.ajax({
type: POST,
url: Default2.aspx / GetCustomers,
data:' {}',
contentType: 应用/ JSON; charset = utf-8,
dataType: json,
成功:OnSuccess,
失败: function (回复){
alert(response.d);
},
错误: function (响应){
alert(response.d);
}
});
});
function OnSuccess(响应){
var xmlDoc =
.parseXML(response.d);
var xml =
Here is my code to bind gridview with json
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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 id="Head1" runat="server">
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$.ajax({
type: "POST",
url: "Default2.aspx/GetCustomers",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
});
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var customers = xml.find("Table");
var row = $("[id*=gvCustomers] tr:last-child").clone(true);
$("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
$.each(customers, function () {
var customer = $(this);
$("td", row).eq(0).html($(this).find("ShipmentNo").text());
$("td", row).eq(1).html($(this).find("Route").text());
$("td", row).eq(2).html($(this).find("Ordernumber").text());
$("td", row).eq(3).html($(this).find("TruckNo").text());
$("td", row).eq(4).html($(this).find("Warehouse").text());
$("td", row).eq(5).html($(this).find("CustomerName").text());
$("td", row).eq(6).html($(this).find("StausCode").text());
$("td", row).eq(7).html($(this).find("ETA").text());
$("td", row).eq(8).html($(this).find("Delay").text());
$("td", row).eq(9).html($(this).find("StatusColor").text());
$("[id*=gvCustomers]").append(row);
row = $("[id*=gvCustomers] tr:last-child").clone(true);
});
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false" Font-Names="Arial"
Font-Size="10pt" RowStyle-BackColor="#A1DCF2" HeaderStyle-BackColor="#3AC0F2"
HeaderStyle-ForeColor="White">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="TruckNo" HeaderText="TruckNo" />
<asp:BoundField ItemStyle-Width="150px" DataField="Route" HeaderText="Route" />
<asp:BoundField ItemStyle-Width="150px" DataField="ShipmentNo" HeaderText="ShipmentNo" />
<asp:BoundField ItemStyle-Width="50px" DataField="Ordernumber" HeaderText="Ordernumber" />
<asp:BoundField ItemStyle-Width="50px" DataField="Warehouse" HeaderText="Warehouse" />
<asp:BoundField ItemStyle-Width="50px" DataField="CustomerName" HeaderText="CustomerName" />
<asp:BoundField ItemStyle-Width="50px" DataField="StausCode" HeaderText="StausCode" />
<asp:BoundField ItemStyle-Width="50px" DataField="ETA" HeaderText="ETA" />
<asp:BoundField ItemStyle-Width="50px" DataField="Delay" HeaderText="Delay" />
<asp:BoundField ItemStyle-Width="50px" DataField="StatusColor" HeaderText="StatusColor" />
</Columns>
</asp:GridView>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Web.Services;
using System.Data.SqlClient;
using System.Configuration;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BindDummyRow();
}
}
private void BindDummyRow()
{
DataTable dummy = new DataTable();
dummy.Columns.Add("ShipmentNo");
dummy.Columns.Add("Route");
dummy.Columns.Add("Ordernumber");
dummy.Columns.Add("TruckNo");
dummy.Columns.Add("Warehouse");
dummy.Columns.Add("CustomerName");
dummy.Columns.Add("StausCode");
dummy.Columns.Add("ETA");
dummy.Columns.Add("Delay");
dummy.Columns.Add("StatusColor");
dummy.Rows.Add();
gvCustomers.DataSource = dummy;
gvCustomers.DataBind();
}
[WebMethod]
public static string GetCustomers()
{
string query = "SP_TEST_BindDataToGridJQ";
SqlCommand cmd = new SqlCommand(query);
return GetData(cmd).GetXml();
}
private static DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
cmd.CommandType = CommandType.StoredProcedure;
using (DataSet ds = new DataSet())
{
sda.Fill(ds);
return ds;
}
}
}
}
}
By using the above code ... i am not getting more than 500 records why?
SP:
ALTER PROCEDURE [dbo].[SP_TEST_BindDataToGridJQ]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER (ORDER BY dbo.tbl_pms_JobOrders.JobID) AS Sno,
dbo.tbl_pms_JobOrders.Ordernumber,
dbo.tbl_pms_ShipmentInfo.ShipmentNo,
dbo.tbl_pms_Trucks.TruckNo,
dbo.tbl_pms_JobOrders.Route,
dbo.tbl_pms_Warehouses.Name as Warehouse,
dbo.tbl_pms_JobOrders.CustomerName,
dbo.tbl_pms_JobOrders_Trucks_Info.StausCode,
dbo.tbl_pms_JobOrders_Trucks_Info.ETA,
dbo.tbl_pms_JobOrders.JobID,
dbo.tbl_pms_JobOrders.Ordertype,
(case when tbl_pms_iComETAInfo.ETA IS NOT NULL then
DATEDIFF(SECOND,dbo.tbl_pms_JobOrders_Trucks_Info.ETA,tbl_pms_iComETAInfo.ETA)
else '' end) [Delay],
(case when tbl_pms_JobOrders_Trucks_Info.StausCode=1 then 'Blue'
when tbl_pms_JobOrders_Trucks_Info.StausCode=2 then 'Green'
when tbl_pms_JobOrders_Trucks_Info.StausCode=3 then 'Red'
when tbl_pms_JobOrders_Trucks_Info.StausCode=4 then 'Yellow'
else 'Black' end)StatusColor
FROM dbo.tbl_pms_JobOrders
INNER JOIN dbo.tbl_pms_JobOrders_Trucks_Info ON dbo.tbl_pms_JobOrders.JobID = dbo.tbl_pms_JobOrders_Trucks_Info.JobID
INNER JOIN dbo.tbl_pms_ShipmentInfo ON dbo.tbl_pms_JobOrders_Trucks_Info.ShipmentID = dbo.tbl_pms_ShipmentInfo.ShipmentID
INNER JOIN dbo.tbl_pms_Trucks ON dbo.tbl_pms_JobOrders_Trucks_Info.TruckID = dbo.tbl_pms_Trucks.TruckID
INNER JOIN dbo.tbl_pms_Warehouses ON dbo.tbl_pms_JobOrders.WarehouseID = dbo.tbl_pms_Warehouses.WarehouseID
LEFT OUTER JOIN tbl_pms_iComETAInfo on tbl_pms_JobOrders.JobID = tbl_pms_iComETAInfo.JobID
WHERE --(dbo.tbl_pms_JobOrders.Planneddate = '20140206')
dbo.tbl_pms_JobOrders.WarehouseID=225
and dbo.tbl_pms_Trucks.TruckNo = 'W1227B'
and dbo.tbl_pms_JobOrders_Trucks_Info.StausCode =2
and dbo.tbl_pms_ShipmentInfo.ShipmentNo = '1279411'
--or dbo.tbl_pms_Trucks.TruckNo = 'W1238B'
and dbo.tbl_pms_Trucks.IsDeleted=0 and dbo.tbl_pms_Trucks.TruckID != 312
ORDER BY dbo.tbl_pms_ShipmentInfo.ShipmentNo,
dbo.tbl_pms_JobOrders_Trucks_Info.ETA,
dbo.tbl_pms_JobOrders.Ordernumber
END
Thanks Advance :) Please help me
解决方案
(function () {
.ajax({ type: "POST", url: "Default2.aspx/GetCustomers", data: '{}', contentType: "application/json; charset=utf-8", dataType: "json", success: OnSuccess, failure: function (response) { alert(response.d); }, error: function (response) { alert(response.d); } }); }); function OnSuccess(response) { var xmlDoc =
.parseXML(response.d); var xml =
这篇关于使用Jquery / Json绑定Gridview不会超过500条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文