You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kendo UI Grid行拖拽排序异常:从底部向上拖拽无法正常生效

Kendo UI Grid行拖拽排序失效的原因及修复方案

你的代码里存在一个关键配置错误:schema 配置被放在了Grid的根层级,而它应该是 dataSource 的子属性。

Kendo Grid的行拖拽排序依赖数据源正确识别模型的ID字段(这里是RoomID),当schema不在dataSource内部时,数据源无法正确绑定模型结构,导致拖拽逻辑无法准确追踪行的身份,进而出现拖拽目标位置失效、行位置异常的问题。

修正后的代码

$(document).ready(() => {
  LoadRoomsGrid();
});

function LoadRoomsGrid() {
  $("#RoomsGrid").empty();
  $("#RoomsGrid").kendoGrid({
    dataSource: {
      data: roomData,
      // 将schema移到dataSource内部
      schema: {
        model: {
          id: "RoomID",
          fields: {
            RoomID: {
              editable: false,
              hidden: true
            },
            roomName: {
              editable: true,
              type: "string",
              hidden: false
            }
          }
        }
      }
    },
    dataBound: (e) => {

    },
    columns: [{
        field: "RoomID",
        title: "RoomID",
        hidden: true
      },
      {
        field: "RoomName",
        title: "Rooms"
      }
    ],
    noRecords: {
      template: "No Rooms"
    },
    reorderable: {
      rows: true
    },
    change: function(e) {}
  });
}
const roomData = [{
    RoomID: 1,
    RoomName: "Room 1"
  },
  {
    RoomID: 2,
    RoomName: "Room 2"
  },
  {
    RoomID: 3,
    RoomName: "Room 3"
  },
  {
    RoomID: 4,
    RoomName: "Room 4"
  }
]

HTML部分保持不变即可。调整后,Grid就能正确识别模型ID,拖拽行排序的功能会正常工作。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:01:08