0

この問題を解決できません。

これが私のコードです

var selectedID = "";
    var selectedIDPremise = "";
    var PremisesGrid = "";
    var PremisesGrid2 = "";
    var selectedIDPremise2 = "";
    //var selectedOD2 = "";
    var nova = "";

    $(document).ready(function () {



        $("#routes").kendoDropDownList({
            dataTextField: "Name",
            dataValueField: "Id",
            dataSource: {
                type: "application/jsonp",
                transport: {
                    read: {
                        url: "http://" + servername + "/uBillingServices/Administration/Administration.svc/getRoute",
                        dataType: "json",
                        data: {
                            ID: 0
                        }
                    }
                }
            },
            select: onSelect
        });

        //nova = PremisesGrid2.getKendoDropDownList().dataSource.transport.options.read.data.Route_ID;

        function onSelect(e) {

            //$.getJSON("http://" + servername + "/uBillingServices/Administration/Administration.svc/getRoute", { ID: nova }, function (json) { });
            window.localStorage.setItem("Nova", "");
            nova = this.dataItem(e.item.index());
            window.localStorage.setItem("Nova", nova.ID);
            PremisesGrid2.getKendoGrid().dataSource.read();
            //nova = PremisesGrid2.getKendoDropDownList().dataSource.transport.options.read.data.Route_ID;
            // var data = [{}];
            //PremisesGrid2.getKendoGrid().dataSource.data(data)
            for (var i = 0; i < 3000; i++) {
                if (i == 2999) {
                    PremisesGrid2.getKendoGrid().dataSource.read();
                }
            }

        }
            PremisesGrid2 = $("#assignedRoute").kendoGrid({
                //dataTextField: "Name",
                //dataValueField: "Id",
                dataSource: {
                    type: "application/jsonp",
                    transport: {
                        read:
                                {
                                    url: "http://" + servername + "/uBillingServices/Premise/Premise.svc/GetAllPremisesByRoute",
                                    dataType: "json",
                                    data: {
                                        Route_ID: window.localStorage.getItem("Nova"),
                                        UserName: userName,
                                        WorkStation: workStation

                                    }
                                }
                    },
                    schema: {
                        model: {
                            fields: {
                                ID: { type: "string" },
                                PostalCode: { type: "string" },
                                Latitude: { type: "string" },
                                Longitude: { type: "string" },
                                IsMember: { type: "string" }

                            }
                        }
                    }
                },
                change: function (arg) {

                    myIndex = this.select().index();
                    var PremisesRow = this.select();

                },
                dataBound: function (e) {

                    row = e.sender.tbody.find(">tr:not(.k-grouping-row)").eq(0);
                    if (row.length == 0) {
                        e.sender.select(e.sender.tbody.find(">tr:first"));
                    }
                    else {
                        e.sender.select(row);
                    }
                },
                selectable: true,
                scrollable: true,
                filterable: true,
                groupable: false,
                sortable: {
                    mode: "single",
                    allowUnsort: false
                },
                height: 330,

                columns: [
                    { field: "PostalCode", title: "Assigned Route" }
                    ]//, width: "100px"
            });

localStorage は正常に動作しています (リソース内で変更されます) が、(ドロップダウン リストから) 別の Reon を選択するとグリッドが更新されず、ページを更新すると最後に選択したものが表示されます

何が問題なのか誰にも教えてもらえますか? ありがとう

4

1 に答える 1

1

いくつか質問があります:

  1. IDとの間の混乱Id
  2. dataの定義はtransport.read.data関数である必要があります。

1について。DropDownListあなたが言う定義ではdataValueField: "Id"onSelectあなたは次を使用します:window.localStorage.setItem("Nova", nova.ID);

2.について の定義をdataからobjectに変更function。こちらです:

data    : function () {
    return {
        {
            Route_ID: window.localStorage.getItem("Nova"),
            UserName: userName,
            WorkStation: workStation
        }
    }
}
于 2013-01-16T12:29:44.067 に答える