Kendo ui dropdownlist中的剑道网格值在不处于编辑模式时显示为未定义

Kendo ui dropdownlist中的剑道网格值在不处于编辑模式时显示为未定义,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,请参见此处的示例: 我确信我已经成功了,我不知道我改变了什么 当您进入编辑模式并选择第一个项目(即空白、OpType标签项),然后单击“更新”时,网格显示“未定义”。 < P>您的问题与您的模板有关,该模板期望绑定到对象品牌上的属性名称。 template: function()"#= Brand.name #", 因为您的网格的数据SouCE没有空白值的项目,在这种情况下,将是空的。< /P> dataSource: { data: [

请参见此处的示例:

我确信我已经成功了,我不知道我改变了什么


当您进入编辑模式并选择第一个项目(即空白、OpType标签项),然后单击“更新”时,网格显示“未定义”。

< P>您的问题与您的模板有关,该模板期望绑定到对象品牌上的属性名称。

template: function()"#= Brand.name #",

因为您的网格的数据SouCE没有空白值的项目,在这种情况下,将是空的。< /P>

  dataSource:  {
                data: [
                    { Brand: {id: 1, name: "Ford"} } 
                ],
                schema: {
                    model: {
                        id: "",
                        fields: {
                            Brand: { defaultValue: {id: 1, name: "Ford" }}
                        }
                    }
                }
            },
删除下拉列表中的选项标签:

optionLabel: { id: 0, name: "" },

并强迫他们选择一个值

dojo不起作用了吗?这里有一个提琴:对不起,它做了-当你说第一个项目-你的意思是默认(可选)项目如果你想允许一个空白项目-我建议使用剑道梳双簧管,而不是下拉列表。如果不需要,只需在组合框上禁用搜索/筛选,并添加一个占位符而不是空白项。下拉列表需要有效的选项…默认/可选选项。组合框?嗯……组合框允许用户直接在控件中键入,我不希望这样。我可以通过在列模板中添加一个javascript片段来实现我想要的,但是对于这么简单的东西来说,似乎需要做很多工作。深入研究剑道代码,我发现当在dropdownlist中进行选择时,labelOption(在本例中是一个对象)没有绑定到底层数据源。相反,它只是绑定字符串值“0”,这是labelOption对象的id。您可以禁用在combobox中键入。。看看这个演示:谢谢!我会考虑这样做。是的,强迫他们选择值对我来说是最容易的,但是行开始是空白的,这帮助用户看到有一个空白值,他们需要提供一个答案……这是optCopyLable的全部目的。谢谢你的帮助。有了选项标签,你能解决问题吗?如果您已经找到答案,请将其作为答案共享。如果其数据源为空,请在下拉列表中添加一个虚拟值,并禁用它可能是一个选项/解决方案,但这不是一个完美的解决方案。如果你有其他的想法,请分享。