2016-12-02 55 views
0

我想从使用CORS的asp.net核心webapi项目填充jqx.dataAdapter,并且能够看到数据传递回JQWidgets项目直到我尝试填充DataAdapter。 jqx.dataAdapter.records不填充,但jqx.dataAdapter.recordids将填充8个预期行。使用CORS填充jqwidgets dataAdapter与asp.net核心webapi数据源使用CORS

的WebAPI项目:

// GET api/changelog 
[HttpGet] 
public JsonResult Get() 
{ 
    IEnumerable<ApplicationChangeEntryExtension> results = null; 
    try 
    { 
     results = (from x in db.tblApplicationChangeLogEntries 
        select new ApplicationChangeEntryExtension() 
        { 
         ID = x.ID, 
         Application = x.Application, 
         Version = x.Version, 
         ReleaseCandidate = x.ReleaseCandidate, 
         IsReleaseCandidate = x.IsReleaseCandidate, 
         CustomerContent = x.CustomerContent, 
         InternalContent = x.InternalContent, 
         DevDate = x.DevDate, 
         TestDate = x.TestDate, 
         PreReleaseDate = x.PreReleaseDate, 
         PreProductionDate = x.PreProductionDate, 
         DeployDate = x.DeployDate 
        }); 
    } 
    catch(Exception exc) 
    { 
     Console.WriteLine(exc); 
    } 
    return Json(results); 
} 

jqwidgets项目:

$('#ChangeLogLink').on('click', function (event) { 
    $('#popupwindowChangeLog').jqxWindow({ 
     showCollapseButton: false, 
     showCloseButton: true, 
     draggable: false, 
     isModal: true, 
     autoOpen: false, 
     height: 500, 
     width: 850, 
     theme: _Theme, 
     modalOpacity: 0, 
     initContent: function() { 
      var _source = { 
       type: 'GET', 
       datatype: 'json', 
       root: 'results', 
       datafields: [ 
        { name: 'ID', type: 'integer' }, 
        { name: 'Application', type: 'string' }, 
        { name: 'Version', type: 'string' }, 
        { name: 'ReleaseCandidate', type: 'integer' }, 
        { name: 'IsReleaseCandidate', type: 'boolean' }, 
        { name: 'CustomerContent', type: 'string' }, 
        { name: 'InternalContent', type: 'string' }, 
        { name: 'DevDate', type: 'date' }, 
        { name: 'TestDate', type: 'date' }, 
        { name: 'PreReleaseDate', type: 'date' }, 
        { name: 'PreProductionDate', type: 'date' }, 
        { name: 'DeployDate', type: 'date' } 
       ], 
       url: 'http://localhost:2512/api/changelog', 
       id: 'ID' 
      }; 

      var _dataAdapter = new $.jqx.dataAdapter(_source); 

      $("#divChangeLogListContainer").html('<div id="divChangeLogList"></div>'); 
      $("#divChangeLogList").jqxDataTable({ 
       source: _dataAdapter, 
       width: '100%', 
       height: '100%', 
       theme: _integronTheme, 
       pageable: true, 
       pagerButtonsCount: 5, 
       sortable: true, 
       filterable: false, 
       columnsResize: true, 
       pageSize: 25, 
       altRows: true, 
       columns: [ 
        { text: 'ID', datafield: 'ID'}, 
        { text: 'Application', datafield: 'Application'}, 
        { text: 'Version', datafield: 'Version'}, 
        { text: 'Release Candidate', datafield: 'ReleaseCandidate'}, 
        { text: 'Is Release Candidate', datafield: 'IsReleaseCandidate'}, 
        { text: 'Customer Content', datafield: 'CustomerContent'}, 
        { text: 'Internal Content', datafield: 'InternalContent'}, 
        { text: 'Customer Order #', datafield: 'CustomerOrderID'}, 
        { text: 'Dev Date', datafield: 'DevDate', cellsformat: 'M/d/yyyy', cellsalign: 'center', align: 'center'}, 
        { text: 'Test Date', datafield: 'TestDate', cellsformat: 'M/d/yyyy', cellsalign: 'center', align: 'center'}, 
        { text: 'PreRelease Date', datafield: 'PreReleaseDate', cellsformat: 'M/d/yyyy', cellsalign: 'center', align: 'center'}, 
        { text: 'PreProduction Date', datafield: 'PreProductionDate', cellsformat: 'M/d/yyyy', cellsalign: 'center', align: 'center'}, 
        { text: 'Deploy Date', datafield: 'DeployDate', cellsformat: 'M/d/yyyy', cellsalign: 'center', align: 'center'} 
       ] 
      }); 
     } 
    }); 
    $('#popupwindowChangeLog').jqxWindow('open'); 

}); 

回答

0

我认为创建数据适配器时,或调用其dataBind()方法你错过了autoBind参数。

或者,您也可以使用异步加载来创建数据表。

查看每个方法的例子在jqwidgets.com

+0

谢谢你,这里没有什么改变了我的最终结果。 dataTable仍然不会加载数据,只是空行。 –

相关问题