使用DevExtreme

时间:2018-04-20 14:05:31

标签: devextreme

我在桌面上使用DevExtreme进行CRUD操作。

我正在使用Form编辑模式,该模式包含两个SelectBox个项目:

items.AddSimpleFor(m => m.Score).Editor(editor => editor.SelectBox().DataSource(entityTypes).DisplayExpr("Name").ValueExpr("Score"));
items.AddSimpleFor(m => m.CreatorId).Editor(editor => editor.SelectBox());

我需要根据第一个中的选定值更新第二个SelectBox内的值。

正常HTML"我能够获得对这些元素的引用并相应地设置回调,但现在,在configurator的{​​{1}}定义中,我无法做到。

我如何获得这些参考?设置form的{​​{1}}属性无效...

1 个答案:

答案 0 :(得分:0)

DevExtreme不允许轻易引用其他表单的项目甚至父表单。您可以使用jQuery的closest方法获取父表单的元素,然后使用getEditor获取第二个选择框。

        .Editor(editor => editor.SelectBox().DataSource(entityTypes).DisplayExpr("Name").ValueExpr("Score")
        .OnSelectionChanged(
            @<text>
                function({element, selectedItem}) {
                    const form = element.closest(".dx-form").dxForm("instance")

                    // get the second select box instance by name
                    const creatorSelectBox = form.getEditor("CreatorId")
                    // selectedItem.Score here holds the value of the first select box
                }
             </text>));