Kendo ui 使用mvvm模式的剑道UI网格数据绑定

Kendo ui 使用mvvm模式的剑道UI网格数据绑定,kendo-ui,kendo-grid,kendo-mvvm,Kendo Ui,Kendo Grid,Kendo Mvvm,我是剑道UI新手,我想使用MVVM模式绑定剑道UI网格,我的数据源是sharepoint列表。因此,我通过CSOM javascript代码调用sharepoint列表数据。我尝试了不同的解决方案,但似乎没有任何效果。我已从sharepoint列表收集数据 var divisionListData = []; //var divisionsViewModel; var viewModel = kendo.observable({ isVisible: true, onSave:

我是剑道UI新手,我想使用MVVM模式绑定剑道UI网格,我的数据源是sharepoint列表。因此,我通过CSOM javascript代码调用sharepoint列表数据。我尝试了不同的解决方案,但似乎没有任何效果。我已从sharepoint列表收集数据

var divisionListData = [];
//var divisionsViewModel;

var viewModel = kendo.observable({
    isVisible: true,
    onSave: function (e) {
        alert('hi');
        kendoConsole.log("event :: save(" + kendo.stringify(e.values, null, 4) + ")");
    },
    divisions: new kendo.data.DataSource({
       // schema: {
            data: divisionListData,
            schema: {
                data: "rows",   
                model: {
                    fields:
                                    {
                                        ID: { type: "string" },
                                        DivisionName: { type: "string" },
                                        DivisionCode: { type: "string" },
                                        OpenDate: { type: "datetime" },
                                        CloseDate: { type: "datetime" },
                                        Description: { type: "string" },
                                    }
                }
            },
    batch: true,
        transport: {

            read: function (e) {
                return divisionListData;
            }
})
})

function ReadList() {
    //this.set("isDisabled", false);
    var clientContext = new SP.ClientContext.get_current();
    // denote that we will be performing operations on the current web
    var web = clientContext.get_web();
    // denote that we will be querying the "Business Divisions" custom SharePoint list
    var divisionsList = web.get_lists().getByTitle("Divisions");
    // create a CAML query (blank means just return all items)
    var camlQuery = new SP.CamlQuery();
    // denote that the operation we want to perform is getItems() on the list
    var divisionsListItems = divisionsList.getItems(camlQuery);
    var fields = 'Include(ID,DivisionCode, DivisionName, OpenDate, CloseDate, Description)';
    clientContext.load(divisionsListItems, fields);  
    clientContext.executeQueryAsync(function () {
        // get the list item enumerator
        var listItemEnumerator = divisionsListItems.getEnumerator();

        // loop through the items in our custom 
        // "Divisions" SharePoint list
        var listItem;

        while (listItemEnumerator.moveNext()) {
            var division = new Division();
            // get the list item we are on
            listItem = listItemEnumerator.get_current();

            // get the divisions
            division.ID = listItem.get_item("ID");
            // var lookup_DivisionCode = listItem.get_item("DivisionCode").get_lookupValue();
            //lookup_DivisionCode.get_l
            var divisionLookupField = new SP.FieldLookupValue();
            divisionLookupField = listItem.get_item("DivisionCode");
            //var test = divisionLookupField.$2d_1;
            if (divisionLookupField != null)
                division.DivisionCode = divisionLookupField.$2d_1;
            division.DivisionName = listItem.get_item("DivisionName");
            division.Description = listItem.get_item("Description");
            division.OpenDate = listItem.get_item("OpenDate");
            division.CloseDate = listItem.get_item("CloseDate");
            divisionListData.push(division);
            kendo.bind($("body"), viewModel);
        }

    })
}

您已经非常接近了,您需要调用

e.success(yourArrayOfData);

请提供您尝试的代码和一些特定错误。这将使人们能够帮助您更多地将SCOM放在一边,首先使用静态数据,一旦您让mvvm工作起来,就可以进一步进行。