Как получить правильные данные JSON для отображения данных в jqxDropDownList с ASP.net Core - PullRequest
0 голосов
/ 07 апреля 2019

Я использую jqxDropDownList для обновления столбца группы, но это не отображаемое значение.Если я нажимаю клавишу F12 и обновляю веб-сайт, он показывает очень хорошие данные, но я отключаю консоль, она не отображается.

Я использую тот же код в контроллере API для сетки отображения, он работает очень хорошо.Я ищу решение, но не узнаю.

сначала я показываю код для отображения основной сетки: этот код используется для отображения основной сетки, и он работает очень хорошо, я могу обновлять, удалять, детализировать данные строки.

// CODE IN ASP.NET CORE
// GET: api/Tb0031
[HttpGet]
public async Task < ActionResult < IEnumerable < Tb0031 >>> GetTb0031() {
    var resultJson = JsonConvert.SerializeObject(await _context.Tb0031.ToListAsync());
    return Content(resultJson, “application / json”);
}

// во-вторых, я использовал тот же код для выпадающего списка, но это не очень хорошо, я не знаю, как правильно код для него

// GET: api/Tb0062
[HttpGet]
public async Task<ActionResult<IEnumerable<Tb0062>>> GetTb0062()
{
    var dbResult = await _context.Tb0062.ToListAsync();
    var category = (from cat in dbResult
                    select new
                    {
                        cat.S,
                        cat.Sname
                    });

    var resultJson = JsonConvert.SerializeObject(category.ToArray());
    return Content(resultJson, "application/json");
}

// В HTML:

<div id=’jqxWidget’>
    <div id=”grid”></div>
</div>

<script lang=”text/javascript”>
var response = new $.jqx.response();
var device = response.device;
var deviceHeight = device.height;
var _theme = “energyblue”;
var _url = “/api/Tb0054”;

function loadData(_url) {
    var IventGroupSource =
    {
        url: ‘api/Tb0062’,
type: “GET”,
        datatype: “json”,
        datafields: [
            { name: ‘S’, type: ‘string’ },
        { name: ‘Sname’, type: ‘string’ }
],
};
var IventGroupSourceAdapter = new $.jqx.dataAdapter(IventGroupSource, {
    autoBind: true
});

var source = {
    url: _url,
    type: “GET”,
    datatype: “json”,
    datafields: [
        { name: ‘Id’, type: ‘number’ },
    {
        name: ‘SNAME’, value: ‘S1’, values: {
            source: IventGroupSourceAdapter.records,
            value: ‘S’, name: ‘Sname’
        }
    }, // label of group code
    { name: ‘S1’, type: ‘string’ }, //group code
    { name: ‘InventoryName’, type: ‘string’ }, //item column
    { name: ‘UnitId’, type: ‘string’ }, //unit
    { name: ‘VatimPercent’, type: ‘number’ }, //price column
],
};
var mydataAdapter = new $.jqx.dataAdapter(source, {
    autoBind: true
});

$(“#grid”).jqxGrid({
    columns: [
        {
            text: ‘ID’, editable: false, sortable: false, filterable: false,
        columntype: ‘textbox’, filtertype: ‘textbox’, datafield: ‘Id’,
        cellsalign: ‘right’, width: 50
},
    {
        text: ‘Group’,
        datafield: ‘S1’,
        displayfield: ‘SNAME’,
        columntype: ‘dropdownlist’,
        filtertype: ‘textbox’, width: 100,
        createeditor: function (row, value, editor) {
            editor.jqxDropDownList({
                source: IventGroupSourceAdapter,
                displayMember: ‘Sname’, valueMember: ‘S’,
            });
        },
    },
    { text: ‘Item’, filtertype: ‘textbox’, map: ‘m\\: properties> d\\: InventoryName’, datafield: ‘InventoryName’, width: 200 },
    { text: ‘Unit’, datafield: ‘UnitId’ , filtertype: ‘textbox’, map: ‘m\\: properties> d\\: UnitID’, },
    { text: ‘Price’, datafield: ‘VatimPercent’, filtertype: ‘textbox’, map: ‘m\\: properties> d\\: VatimPercent’, cellsalign: ‘right’, cellsformat: ‘n’, width: 100 },
],
    width: “100 %”,
    source: mydataAdapter,
    showfilterrow: true,
    filterable: true,
    pageable: true,
    columnsresize: false,
    pagesize: 12,
    autoheight: false,
    pagermode: ‘default ’,
    theme: _theme,
    editable: true,
    sortable: true,
    selectionmode: ‘singlerow’,
});
}

$(document).ready(function () {
    loadData(_url);
});
</script>

Как вернуть правильные данные json контроллера api для отображения выпадающего списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...