Jquery 如何在手持电子表格中加载数据

Jquery 如何在手持电子表格中加载数据,jquery,json,handsontable,Jquery,Json,Handsontable,您好,请帮助将数据加载到可手持sreadsheet 我试图这样添加,在列中得到“#坏值”。 $("#benefitDT").handsontable({ data: benefitData(), // colWidths: [55, 127, 127, 147, 157, 147, 147, 147], rowHeaders: true, colHeaders: true, colHeaders: ["Name", "Yes/No", "Add/Nil"

您好,请帮助将数据加载到可手持sreadsheet 我试图这样添加,在列中得到“#坏值”。

$("#benefitDT").handsontable({

    data: benefitData(),
    // colWidths: [55, 127, 127, 147, 157, 147, 147, 147],
    rowHeaders: true,
    colHeaders: true,
    colHeaders: ["Name", "Yes/No", "Add/Nil", "Nil/Multiple", "Field Name", "Value", "Information"],
    stretchH: 'all',
    startRows: 5,
    fillHandle: true,
    columns: [
    {
    readOnly:true
    },
    {
    type: 'checkbox',
    checkedTemplate: 'yes',
    uncheckedTemplate: 'no'
    // source: ["Nil", "Add"]
    },
    {
    type: 'dropdown',
    source: ["Nil", "Add"]
    },
    {
    type: 'dropdown',
    source: ["Nil", "Multiple"]
    },
    {
    type: 'dropdown',
    source: ["Select", "No of Passenger", "No Of Cylinders", "No Of Doors"]
    },
    {
    type: 'numeric',
    format: '$ 0,0[.]00',
    language: 'en' //this is the default locale, set up for USD
    },
    {

    }
    ],
    minSpareRows: 1
    });
我正在尝试从web服务获取数据并创建 数组对象并返回相同的值

    function benefitData() {
    var obj = new Array();
    var ncbData = [];
    XXXXXXXX_apps.GetBenefits(function (arg) {
    if (arg.length > 0) {

    for (var i=1; i < arg.length - 1; i++) {
    var temp = [arg[i].split("|")[2], "yes", "Nil", "Nil", "Select", 12, 13];

    }

    }

    }
    return obj;
    }
函数benefitData(){
var obj=新数组();
var ncbData=[];
XXXXXXXX_apps.GetBenefits(函数(arg){
如果(参数长度>0){
对于(变量i=1;i
以json格式获取数据

  Public Function GetRates(ByVal ratesheetID As String) As String
            Dim alObj As New ArrayList()
            Dim dt As DataSet = xxxxxxxxx.GetAllRates(ratesheetID)
            Dim ratelist As New List(Of Rates)
            For Each dr As DataRow In dt.Tables(0).Rows
                Dim rate As New Rates()
                rate.YEAR = dr("YEAR")
                rate.AGENCYRATE = dr("AGENCYRATE")
                rate.AGENCYLOADING = dr("AGENCYLOADING")
                rate.AGENCYMINIPREMIUM = dr("AGENCYMINIPREMIUM")
                rate.NONAGENCYRATE = dr("NONAGENCYRATE")
                rate.NONAGENCYLOADING = dr("NONAGENCYLOADING")
                rate.NONAGENCYMINPREMIUM = dr("NONAGENCYMINPREMIUM")
                rate.EXCESS = dr("EXCESS")
                ratelist.Add(rate)

            Next
            Dim jss As New JavaScriptSerializer()
            Dim _JsonString = jss.Serialize(ratelist)
            Return _JsonString
        End Function
在加载时使用jquery页面将数据转换为json格式 根据电子表格中的数据类型和控件设置列样式。 根据数据设置电子表格设置后,加载数据

 function GenerateRateSheet() {
        var obj = new Array();
        var ncbData = [];
        loading("start");
        xxxxxxxxxxxxxx.GetRates($("#hdRID").val(), function (obj1) {
            debugger;
            var arg = $.parseJSON(obj1);
            if (arg.length > 0) {
                debugger;
                $("#rateDT").handsontable({
                    //   data: obj,
                    colHeaders: true,
                    colHeaders: ["YEAR", "Agency Rate (%)", "Agency Loading", "Agency MP", "Non Agency Rate (%)", "Non Agency Loading", "Non Agency MP", "Excess/Deductible"],
                    currentRowClassName: 'currentRow',
                    currentColClassName: 'currentCol',
                    colWidths: [100, 150, 110, 100, 175, 160, 130, 180],
                    startRows: 6,
                    startCols: 8,
                    contextMenu: { items: { 'row_above': {}, 'row_below': {}, 'remove_row': {}, 'undo': {}, 'redo': {}} },
                    columnSorting: {
                        column: 1,
                        sortOrder: true
                    },
                    persistentState: true,
                    columns: [
                        {
                            data: "YEAR",
                            allowInvalid: false,
                            type: 'numeric'
                            //readOnly: true
                        },
                        { data: "AGENCYRATE",
                            type: 'numeric',
                            format: '0.00%',
                            allowInvalid: false,
                            language: 'en' //this is the default locale, set up for USD
                        }
                        ,
                        { data: "AGENCYLOADING",
                            type: 'numeric',
                            format: '0,0[.]00',
                            allowInvalid: false,
                            language: 'en' //i18n: use this for EUR (German)
                            //more locales available on numeraljs.com
                        },
                        { data: "AGENCYMINIPREMIUM",
                            //    data: "Agency MP",
                            type: 'numeric',
                            format: '0,0[.]00',
                            allowInvalid: false,
                            language: 'en' //this is the default locale, set up for USD
                        },
                        { data: "NONAGENCYRATE",
                            //  data: "Non Agency Rate (%)",
                            type: 'numeric',
                            format: '0.00%',
                            allowInvalid: false,
                            language: 'en' //i18n: use this for EUR (German)
                            //more locales available on numeraljs.com
                        },
                        { data: "NONAGENCYLOADING",
                            //  data: "Non Agency Loading",
                            type: 'numeric',
                            format: '0,0[.]00',
                            allowInvalid: false,
                            language: 'en' //this is the default locale, set up for USD
                        },
                        { data: "NONAGENCYMINPREMIUM",
                            //   data: "Non Agency MP", 
                            type: 'numeric',
                            format: '0,0[.]00',
                            allowInvalid: false,
                            language: 'en' //i18n: use this for EUR (German)
                            //more locales available on numeraljs.com
                        },
                        {
                            data: "EXCESS",
                            type: 'numeric',
                            format: '0,0[.]00',
                            allowInvalid: false,
                            language: 'en' //this is the default locale, set up for USD
                        }
                        ]
                });

                $("#rateDT").handsontable("loadData", arg);
                loading("end");
            }
        },
        function (arg) {
            $("#divResult").html('<div class="alert"><button class="close" data-dismiss="alert">×</button><strong>Warning!</strong> Internal Server Error.</div>');
        });
    }
函数生成表(){
var obj=新数组();
var ncbData=[];
加载(“启动”);
xxxxxxxxxxxxx.GetRates($(“#hdRID”).val(),函数(obj1){
调试器;
var arg=$.parseJSON(obj1);
如果(参数长度>0){
调试器;
$(“#rateDT”)。可手持({
//资料来源:obj,
colHeaders:是的,
列标题:[“年度”、“代理费率(%)”、“代理加载”、“代理MP”、“非代理费率(%)”、“非代理加载”、“非代理MP”、“超额/免赔额”],
currentRowClassName:“currentRow”,
currentColClassName:'currentCol',
宽度:[100150110100175160130180],
startRows:6,
startCols:8,
上下文菜单:{items:{'上面的行':{},'下面的行':{},'删除行':{},'撤消':{},'重做':{},
列排序:{
专栏:1,
巫师:是的
},
persistentState:true,
栏目:[
{
数据:“年”,
allowInvalid:false,
键入:“数字”
//只读:正确
},
{数据:“代理率”,
键入:“数值”,
格式:“0.00%”,
allowInvalid:false,
语言:'en'//这是默认语言环境,为USD设置
}
,
{数据:“代理加载”,
键入:“数值”,
格式:“0,0[.]00”,
allowInvalid:false,
语言:'en'//i18n:将其用于欧元(德语)
//更多地区可从numericjs.com获得
},
{数据:“AGENCYMINIPREMIUM”,
//数据:“机构议员”,
键入:“数值”,
格式:“0,0[.]00”,
allowInvalid:false,
语言:'en'//这是默认语言环境,为USD设置
},
{数据:“非政府机构”,
//数据:“非代理利率(%)”,
键入:“数值”,
格式:“0.00%”,
allowInvalid:false,
语言:'en'//i18n:将其用于欧元(德语)
//更多地区可从numericjs.com获得
},
{数据:“非代理加载”,
//数据:“非代理加载”,
键入:“数值”,
格式:“0,0[.]00”,
allowInvalid:false,
语言:'en'//这是默认语言环境,为USD设置
},
{数据:“非代理性混合”,
//数据:“非机构议员”,
键入:“数值”,
格式:“0,0[.]00”,
allowInvalid:false,
语言:'en'//i18n:将其用于欧元(德语)
//更多地区可从numericjs.com获得
},
{
数据:“超额”,
键入:“数值”,
格式:“0,0[.]00”,
allowInvalid:false,
语言:'en'//这是默认语言环境,为USD设置
}
]
});
$(“#rateDT”).handsontable(“loadData”,arg);
加载(“结束”);
}
},
函数(arg){
$(“#divResult”).html(“×警告!内部服务器错误”);
});
}

//如果没有,希望它会有帮助,然后尝试打破解决方案,我将其分成小块,然后尝试。由于时间不够,我将所有问题都解决了。

您能告诉我们您是如何解决的吗?