使用Jquery / Json绑定Gridview不会超过500条记录 [英] Binding Gridview with Jquery/Json Not getting more than 500 records

查看:54
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆