0
我的情况下结合:级联组合框滴模型设定空初始值后
级联与主 - 使用组合框(局部视图)>结束的下拉列表中详述了剑术电网场景
ddl-> ddl- > ddl-> CB
目标:
- 在页面加载DropDownLists正在用数据逐个初始化 并带有一些默认值,组合框应保持为空
- 在网格上selecteditemchanged部分视图正在填充数据,而ComboBox应显示相应的元素。
在我的情况下,它的工作原理如下:
- 在页面加载组合框显示“0”(?空我想)
- 它与选定值闪烁选择的变化基本上是model.Id它表明适当文本
或者,如果I C李尔文本/值属性格式kendoComboBox当父母的DropDownList数据加载:
- 在页面加载组合框是选择空
- 改变它闪烁像上面,但其保持为空
如果我将组合框控件更改为第4个DropDownList它仍然“闪烁”,但总的来说工作正常。从模型中选定的项目在DropDown中正确保存。
我不能提供一个完整的例子,因为它太重,但我不认为这是必要的。
这就是列表数据是如何级联的。在父级的DataBound事件中调用子级的.dataSource.read()方法。没有什么花哨。
function ParentProductIdDataBound() {
var dropdownlist = $("#ParentProductId").data("kendoDropDownList");
if (dropdownlist.value()) {
OnParentProductIdChange();
}
}
function ParentProductIdChange() {
OnParentProductIdChange();
}
function OnParentProductIdChange() {
var productcombobox = $("#ProductId").data("kendoComboBox");
productcombobox.text(""); <- empty until combo is populated
productcombobox.value("");
productcombobox.enable(true); <- enable combo
productcombobox.dataSource.read(); <- populate combo
}
,这里是组合本身的代码
@(Html.Kendo().ComboBox()
.Name("ProductId")
.DataTextField("Text")
.DataValueField("Value")
.AutoBind(false)
//.Text(Model.ProductId == 0 ? " " : Model.ProductName)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetMeansOfProduction", "DemandForMeansOfProduction", new { level = 3 }).Data("onProductComboBoxAdditionalData");
})
.ServerFiltering(false);
})
.Events(e =>
{
e.Change("ProductIdChange");
e.DataBound("ProductIdDataBound");
})
)
它看起来像:
- 每当组合框未填充它显示它被绑定到直接模式的值(标识),即使模型是空的 - >多数民众赞成在'0'从第一种情况 - 我希望它等待数据
- 如果我设置值和/或文本空组合框空它失去绑定到模型,并且它填充数据后它不知道应该选择哪个项目...
解决方案的想法?