javascript - jqgrid 不加载所有行

标签 javascript asp.net jqgrid

我使用了以下内容:ASP .Net 2008 3.5 Webforms/Teradata 数据库。 使用浏览器:IE 9、Firefox

我最多可以加载 1700 行,但不能加载全部 2000 多条记录。 没有返回错误请帮我解决这个问题。如果我错过了以下任何引用和代码,请提出建议:

<link href="CSS/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
<link href="CSS/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<script src="Script/jquery-1.8.3.js" type="text/javascript"></script>
<script src="Script/jquery-ui-1.9.2.custom.js" type="text/javascript"></script>
<script src="Script/grid.locale-en.js" type="text/javascript"></script>
<script src="Script/jquery.jqGrid.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript" >
    $(function() {
        $("#dataGrid").jqGrid({
            url: 'UploadHistory.aspx/DisplayListToJQGrid',
            datatype: 'json',
            mtype: 'POST',
            serializeGridData: function(postData) {
                return JSON.stringify(postData);
            },
            ajaxGridOptions: { contentType: "application/json; charset=utf-8" },
            colNames: ['Liability', 'Channel_Lvl_2_Desc'],
            colModel: [
                            { name: 'Liability', index: 'Liability', width: 300 },
                            { name: 'Channel_Lvl_2_Desc', index: 'Channel_Lvl_2_Desc', width: 200 },
                            //{ name: 'T_ADDS', index: 'T_ADDS', width: 200 }
            ],
            pager: '#pagingGrid',
            rowNum: 10,
            rowList: [10, 20, 100],
            viewrecords: true,
            gridview: true,
            width: 780,
            rownumbers: true,
            loadonce: true,
            jsonReader: {
                page: function(obj) { return 1; },
                total: function(obj) { return 1; },
                records: function(obj) { return obj.d.length; },
                root: function(obj) { return obj.d; },
                repeatitems: false,
                id: "0"
            },
            caption: 'Data List'
        });
    });
</script>




<WebMethod()> _
Public Shared Function DisplayListToJQGrid() As List(Of Dictionary(Of String, Object))

    Return UploadClass.LoadListToJQGrid()

End Function

<WebMethod()> _
Public Shared Function LoadListToJQGrid() As List(Of Dictionary(Of String, Object))

    Dim cmdQry As String = ""

    cmdQry = "SELECT TOP 1970 Liability, Channel_Lvl_2_Desc FROM TABLENAME" 

    Return DataAccessClass.GetListFromDB(cmdQry)

End Function


<WebMethod()> _
Public Shared Function GetListFromDB(ByVal Sql As String) As List(Of Dictionary(Of String, Object))


    Dim dt As New DataTable

    Dim cmd As New Teradata.Client.Provider.TdCommand(Sql, DBConnectionClass.pTDConobj)
    Dim da As New TdDataAdapter(cmd)
    da.Fill(dt)

    'Dim serializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer
    Dim rows As New List(Of Dictionary(Of String, Object))()
    Dim row As Dictionary(Of String, Object) = Nothing

    For Each dr As DataRow In dt.Rows
        row = New Dictionary(Of String, Object)()
        For Each col As DataColumn In dt.Columns
            row.Add(col.ColumnName.Trim(), dr(col).ToString())
        Next
        rows.Add(row)
    Next

    Dim serializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer()
    serializer.Serialize(rows)

    Return rows

End Function

最佳答案

我认为您有纯粹的服务器端问题。您使用返回 JSON 数据的 WebMethod。您可以通过在 web.config 中的相应位置添加诸如 jsonSerialization maxJsonLength="50000000"/> 之类的内容来增加限制。请参阅the answer了解更多详情。

我建议您在 jqGrid 中另外包含 loadError 回调,以查看诸如“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串长度超过 maxJsonLength 属性上设置的值”之类的错误。请参阅the old answer了解使用 loadError 回调的详细信息。

关于javascript - jqgrid 不加载所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339103/

相关文章:

WebMethod 的 Javascript 值

javascript - 在 Javascript 中访问 ASP.NET 控件

asp.net - 在 Angular 应用程序中添加 Azure AD 身份验证(使用 MSAL)时出现 CORS 问题

javascript - jqGrid - 将数据库记录嵌套属性设置为行 ID

javascript - 设置一天的 CSS 设计?

javascript - JavaScript 中 "for in"的过度匹配

jquery - 如何将表单与jQgrid绑定(bind)?

php - Jqgrid 分页由于查询而无法工作

javascript - 将所有 MirageJS id 转换为整数

javascript - 组织 React 组件