Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 在剑道网格拖放中,一列值保持不变_Javascript_Jquery_Html_Kendo Ui_Kendo Grid - Fatal编程技术网

Javascript 在剑道网格拖放中,一列值保持不变

Javascript 在剑道网格拖放中,一列值保持不变,javascript,jquery,html,kendo-ui,kendo-grid,Javascript,Jquery,Html,Kendo Ui,Kendo Grid,我对剑道UI相当陌生,但我了解如何使用拖放功能渲染剑道网格,用户可以在其中拖放行 所以我需要保持序列列数据不变,而id和名称数据在拖放行时会发生更改 Ex id=1 Name=David Sequnce=0 id=2 Name=Mark Sequnce=1 现在我将把第1行拖到第2行,同时序列列的数据保持不变,新数据如下所示 Ex id=2 Name=Mark Sequnce=0 id=1 Name=David Sequnce=1 就我而言,每一行都在改变。我需要实现这个

我对剑道UI相当陌生,但我了解如何使用拖放功能渲染剑道网格,用户可以在其中拖放行

所以我需要保持序列列数据不变,而id和名称数据在拖放行时会发生更改

Ex id=1 Name=David Sequnce=0
   id=2 Name=Mark  Sequnce=1
现在我将把第1行拖到第2行,同时序列列的数据保持不变,新数据如下所示

Ex id=2 Name=Mark   Sequnce=0
   id=1 Name=David  Sequnce=1
就我而言,每一行都在改变。我需要实现这个解决方案

有人能帮我一下吗

干杯

钦塔卡

试试这个

脚本

<script type="text/javascript">

    $(document).ready(function () {
    var data = [
{ id: 1, text: "David ", Sequnce: 0 },
{ id: 2, text: "Mark  ", Sequnce: 1 }
]

    var dataSource = new kendo.data.DataSource({
        data: data,
        schema: {
            model: {
                id: "id",
                fields: {
                    id: { type: "number" },
                    text: { type: "string" },
                    Sequnce: { type: "number" }
                }
            }
        }
    });

    var grid = $("#grid").kendoGrid({
        dataSource: dataSource,
        scrollable: false,
        columns: ["id", "text", "Sequnce"]
    }).data("kendoGrid");

    grid.table.kendoDraggable({
        filter: "tbody > tr",
        group: "gridGroup",
        hint: function (e) {
            return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>');
        }
    });

    grid.table/*.find("tbody > tr")*/.kendoDropTarget({
        group: "gridGroup",
        drop: function (e) {
            var target = dataSource.get($(e.draggable.currentTarget).data("id"));
        dest = $(e.target);

            if (dest.is("th")) {
                return;
            }
            dest = dataSource.get(dest.parent().data("id"));

            //not on same item
            if (target.get("id") !== dest.get("id")) {
                //reorder the items
                var tmp = target.get("Sequnce");
                target.set("Sequnce", dest.get("Sequnce"));
                dest.set("Sequnce", tmp);

                dataSource.sort({ field: "Sequnce", dir: "asc" });
            }
        }
    });     

    });

</script>

$(文档).ready(函数(){
风险值数据=[
{id:1,文本:“David”,序号:0},
{id:2,文本:“标记”,序号:1}
]
var dataSource=new kendo.data.dataSource({
数据:数据,
模式:{
型号:{
id:“id”,
字段:{
id:{type:“number”},
文本:{type:“string”},
序号:{type:“number”}
}
}
}
});
var grid=$(“#grid”).kendoGrid({
数据源:数据源,
可滚动:false,
列:[“id”、“文本”、“序号”]
}).数据(“kendoGrid”);
grid.table.kendoDraggable({
过滤器:“tbody>tr”,
组:“网格组”,
提示:函数(e){
返回$(''+e.html()+'');
}
});
grid.table/*.find(“tbody>tr”)*/.kendoDropTarget({
组:“网格组”,
删除:功能(e){
var target=dataSource.get($(e.draggable.currentTarget).data(“id”);
目的地=$(即目标);
如果(目的地为(“第”)天){
返回;
}
dest=dataSource.get(dest.parent().data(“id”);
//不在同一项目上
if(target.get(“id”)!==dest.get(“id”)){
//重新排序项目
var tmp=目标.get(“Sequnce”);
目标设定(“目标设定”),目标设定(“目标设定”);
目的地设置(“顺序”,tmp);
排序({field:“sequence”,dir:“asc”});
}
}
});     
});
查看

<div id="grid">
</div>


演示:

这有帮助吗。。。谢谢马丁的热情回应,干杯;-)伟大的Jaimin非常感谢您的解决方案对我有效;-)