Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Listview 带弹出编辑器的剑道列表视图_Listview_Popup_Kendo Ui_Edit - Fatal编程技术网

Listview 带弹出编辑器的剑道列表视图

Listview 带弹出编辑器的剑道列表视图,listview,popup,kendo-ui,edit,Listview,Popup,Kendo Ui,Edit,我想在弹出窗口中编辑listview项。我拼凑了一些不同的例子,但肯定遗漏了什么。这是我所拥有的,但我不知道如何将弹出窗口模板绑定到listview的数据源 以下是我的做法: 窗口模板: <div id="window"></div> <script type="text/x-kendo-template" id="win-template"> <div>#:StuId#</div> </script>

我想在弹出窗口中编辑listview项。我拼凑了一些不同的例子,但肯定遗漏了什么。这是我所拥有的,但我不知道如何将弹出窗口模板绑定到listview的数据源

以下是我的做法:

窗口模板:

<div id="window"></div>

<script type="text/x-kendo-template" id="win-template">
        <div>#:StuId#</div>
</script>

#:StuId#
剑道/jQuery代码:

<script>
    $(document).ready(function () {
            var dataSource = new kendo.data.DataSource({
                pageSize: 50,
                transport: {
                    read: {
                        url: "GetData.asmx/GetStudentsByFeederId",
                        dataType: "xml",
                        data: { feederId: ("0123") }
                    }
                },
                schema: {
                    type: "xml",
                    data: "/ArrayOfStudentVO/StudentVO",
                    model: {
                        id: "student_id",
                        fields: {
                            StuId: { field: "student_id/text()", type: "string" },
                            StuName: { field: "stu_name/text()", type: "string"},
                            MathRec: { field: "math_rec/text()", type: "string" },
                            EnglishRec: { field: "english_rec/text()", type: "string" }
                        }
                    }
                }
            });

            /* PAGER FUNCTION (Used in ListView) */

            $("#pager").kendoPager({
                dataSource: dataSource
            });

            /* LIST VIEW CREATION */

            var listView = $("#listView").kendoListView({
                editable: "true",
                selectable: "true",
                dataBound: onDataBound,
                change: onChange,
                dataSource: dataSource,
                template: kendo.template($("#template").html())
            }).data("kendoListView");

            function onChange() {
                var data = dataSource.view();
                selected = $.map(this.select(), function(item) {
                    return data[$(item).index()].StuId;
            });

            kendoConsole.log("Selected: " + selected.length + " item(s), [" + selected.join(", ") + "]");
            popUp(selected);
        }

       function popUp(d) {
            var window = $("#window"),
                undo = $("#undo")
                        .bind("click", function() {
                            window.data("d").open();
                            undo.hide();
                        });

            if (!window.data("d")) {
                window.kendoWindow({
                    width: "600px",
                    title: "Student Information",
                    close: onClose,
                    content: { template: kendo.template($("#win-template").html()) }
                });
            }
        }

        var onClose = function() {
                undo.show();
            }

    </script>

$(文档).ready(函数(){
var dataSource=new kendo.data.dataSource({
页面大小:50,
运输:{
阅读:{
url:“GetData.asmx/GetStudentsByFeederId”,
数据类型:“xml”,
数据:{feederId:(“0123”)}
}
},
模式:{
键入:“xml”,
数据:“/ArrayOfStudentVO/StudentVO”,
型号:{
id:“学生id”,
字段:{
StuId:{field:“student_id/text()”,键入:“string”},
stune:{field:“stu_name/text()”,键入:“string”},
MathRec:{field:“math_rec/text()”,键入:“string”},
EnglishRec:{字段:“english_rec/text()”,键入:“string”}
}
}
}
});
/*寻呼机功能(在ListView中使用)*/
$(“#寻呼机”).kendoPager({
数据源:数据源
});
/*列表视图创建*/
var listView=$(“#listView”).kendoListView({
可编辑:“真”,
可选:“真”,
数据绑定:onDataBound,
改变:一旦改变,
数据源:数据源,
模板:kendo.template($(“#template”).html()
}).数据(“kendoListView”);
函数onChange(){
var data=dataSource.view();
selected=$.map(this.select(),函数(项){
返回数据[$(item).index()].StuId;
});
kendoConsole.log(“所选:“+Selected.length+”项),[“+Selected.join”(“,”+“]);
弹出窗口(选中);
}
功能弹出窗口(d){
变量窗口=$(“#窗口”),
撤消=$(“#撤消”)
.bind(“单击”,函数(){
window.data(“d”).open();
undo.hide();
});
如果(!window.data(“d”)){
window.kendoWindow({
宽度:“600px”,
标题:“学生信息”,
关闭:一旦关闭,
内容:{template:kendo.template($(“#win template”).html())}
});
}
}
var onClose=function(){
undo.show();
}

在代码中,我可以看到两个问题

您正在将listview与标识符#listview绑定-我在给定的HTML中看不到该标识符

在HTML中,您将模板标识符指定为#win template,在Javascript代码中,标识符为#template-应该是相同的


另外,HTML中没有给出寻呼机标识符。

你能用这段代码做一个jsFiddle吗?还有:如果我没弄错的话,变量访问应该是:#=StuId#。你有没有弄明白这一点?我也想做同样的事情。