我正在为面向CRM的前端GUI工作。我们有一个分层的客户结构。每个客户都有许多他们收费的地址,他们发送到的许多地址,以及与每个帐户相关联的许多联系人。我遇到的问题是,有些客户与该帐户关联的货物超过10,000。当一次呼叫所有这些时,这成为一个问题。我的后端很好,它可以在大约280毫秒(平均而言)获得所有的数据。我正在使用Javascript将所有信息加载到表中。这就是我目前正在做的事情:
var r = new Array();
var j = -1, recordID;
r[++j] = '';
//Loop through the data and build an array.
for (i in data) {
var d = data[i];
recordID = d.id;
r[++j] = '<tr>';
r[++j] = '<td>'+ d['ADDRESS_LINE_1'] +'</td>';
r[++j] = '</tr>';
}
//The line below joins the array and appends it to the table.
$('#table').append(r.join(''));
我已经和那些为我建立规范的人交谈了,他们需要所有人立刻展示,没有过滤的可能性。现在,在加载所有数据并打开模态之前需要大约4秒。
有更快的方法吗?
答案 0 :(得分:0)
Option Explicit
Private Sub cboTables_Change()
Dim ws As Worksheet
Dim tbl As ListObject
Set ws = Worksheets(cboWorkSheets.Value)
Set tbl = ws.ListObjects(cboTables.Value)
ws.Activate
tbl.DataBodyRange.Cells(1, 1).Select
End Sub
Private Sub cboWorkSheets_Change()
Dim ws As Worksheet
Dim tbl As ListObject
Set ws = Worksheets(cboWorkSheets.Value)
cboTables.Clear
For Each tbl In ws.ListObjects
cboTables.AddItem tbl.Name
Next
End Sub
Private Sub UserForm_Initialize()
cboWorkSheets.List = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7", "Sheet8", "Sheet9", "Sheet10", "Sheet11", "Sheet12")
End Sub
这可以帮助您获得比循环更好的性能。 在此处了解更多信息,http://api.jquery.com/jquery.map/