Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 剑道下拉列表数据源排序_Sorting_Kendo Ui_Kendo Dropdown - Fatal编程技术网

Sorting 剑道下拉列表数据源排序

Sorting 剑道下拉列表数据源排序,sorting,kendo-ui,kendo-dropdown,Sorting,Kendo Ui,Kendo Dropdown,我的页面中有一个剑道下拉列表,使用以下列表作为数据源 [{FieldOne:'def',FieldTwo:'p',FieldThree:14}, {FieldOne:'ijk',FieldTwo:'p',FieldThree:14}, {FieldOne:'lmn',FieldTwo:'p',FieldThree:14}, {FieldOne:'bcd',FieldTwo:'',FieldThree:14}] var dropdownlist = $("#dropdown").data("k

我的页面中有一个剑道下拉列表,使用以下列表作为数据源

[{FieldOne:'def',FieldTwo:'p',FieldThree:14},
{FieldOne:'ijk',FieldTwo:'p',FieldThree:14},
{FieldOne:'lmn',FieldTwo:'p',FieldThree:14},
{FieldOne:'bcd',FieldTwo:'',FieldThree:14}]
 var dropdownlist = $("#dropdown").data("kendoDropDownList");
 dropdownlist.dataSource.sort({ field: 'FieldOne', dir: 'asc' });
 dropdownlist.dataSource.sort({ field: 'FieldTwo', dir: 'desc' });
我需要根据字段1升序和字段2降序对该数据源进行排序 我使用以下代码对数据源进行排序

[{FieldOne:'def',FieldTwo:'p',FieldThree:14},
{FieldOne:'ijk',FieldTwo:'p',FieldThree:14},
{FieldOne:'lmn',FieldTwo:'p',FieldThree:14},
{FieldOne:'bcd',FieldTwo:'',FieldThree:14}]
 var dropdownlist = $("#dropdown").data("kendoDropDownList");
 dropdownlist.dataSource.sort({ field: 'FieldOne', dir: 'asc' });
 dropdownlist.dataSource.sort({ field: 'FieldTwo', dir: 'desc' });
它一开始工作正常,但如果我向数据源添加另一个对象,如
{FieldOne:'abc',FieldTwo:'p',FieldThree:14}
,我将得到以下结果

[{FieldOne:'def',FieldTwo:'p',FieldThree:14},
{FieldOne:'ijk',FieldTwo:'p',FieldThree:14},
{FieldOne:'lmn',FieldTwo:'p',FieldThree:14},
{FieldOne:'abc',FieldTwo:'p',FieldThree:14},
{FieldOne:'bcd',FieldTwo:'',FieldThree:14}]
但我希望数据源按

[{FieldOne:'abc',FieldTwo:'p',FieldThree:14},
{FieldOne:'def',FieldTwo:'p',FieldThree:14},
{FieldOne:'ijk',FieldTwo:'p',FieldThree:14},
{FieldOne:'lmn',FieldTwo:'p',FieldThree:14},
{FieldOne:'bcd',FieldTwo:'',FieldThree:14}]

我不知道如何做到这一点,我尝试了几乎所有我知道的,但仍然没有结果。是否仍然可以得到所需的结果???

您应该在数据源中定义排序:

<input id="dropdownlist" />
<script>
  var dropdownlist = $("#dropdownlist").kendoDropDownList({
    dataSource:{
      data:[{FieldOne:'def',FieldTwo:'p',FieldThree:14},
        {FieldOne:'ijk',FieldTwo:'p',FieldThree:14},
        {FieldOne:'lmn',FieldTwo:'p',FieldThree:14},
        {FieldOne:'bcd',FieldTwo:'',FieldThree:14}],
      sort: [
        { field: "FieldOne", dir: "asc" },
        { field: "FieldTwo", dir: "desc" }
      ]
    },
    dataTextField: "FieldOne",
    dataValueField: "FieldTwo"
  }).data('kendoDropDownList');

  dropdownlist.dataSource.add({FieldOne:'abc',FieldTwo:'p',FieldThree:14});
</script>

var dropdownlist=$(“#dropdownlist”)。kendoDropDownList({
数据源:{
数据:[{FieldOne:'def',FieldTwo:'p',FieldThree:14},
{场一:'ijk',场二:'p',场三:14},
{场一:'lmn',场二:'p',场三:14},
{FieldOne:'bcd',FieldTwo:'',FieldThree:14}],
排序:[
{field:“FieldOne”,dir:“asc”},
{field:“FieldTwo”,dir:“desc”}
]
},
dataTextField:“FieldOne”,
dataValueField:“字段二”
}).数据(“kendoDropDownList”);
add({FieldOne:'abc',FieldTwo:'p',FieldThree:14});

查看更多信息

也许每次添加对象时都必须进行排序…@DontVoteMeDown目前我正在进行排序,但没有效果