剑道ui网格外键列和mvvm
我正在与剑道ui网格外键列和mvvm作斗争 我希望能够将 我的问题是:“如何绑定查找字段的values属性?”剑道ui网格外键列和mvvm,mvvm,kendo-ui,kendo-grid,Mvvm,Kendo Ui,Kendo Grid,我正在与剑道ui网格外键列和mvvm作斗争 我希望能够将 我的问题是:“如何绑定查找字段的values属性?” 这是一篇比较老的文章,但我不得不解决同样的问题,在尝试解决问题时发现了这个问题。我想我会为后代回答这个问题 在MVVM的剑道网格中,“values”属性似乎无法100%工作。我通过两个步骤解决了这个问题 在“loggerSeverityValues”前面加上“this.viewModel”(其中“viewModel”是您所称的VM)。编辑字段时,这将为您提供一个下拉列表 利用模板功能在
这是一篇比较老的文章,但我不得不解决同样的问题,在尝试解决问题时发现了这个问题。我想我会为后代回答这个问题 在MVVM的剑道网格中,“values”属性似乎无法100%工作。我通过两个步骤解决了这个问题
getText:function(匹配值、值数组、文本、值)
{
如果(文本===未定义)
{
text='text';
}
如果(值===未定义)
{
value='value';
}
var retText=“未找到值”;
finalArr=$.grep(valuesArray,函数(val,整数)
{
返回值[值]==匹配值;
});
如果(最终长度>0)
{
retText=finalArr[0]。文本;
}
返回文本;
}
现场的最终外观将与以下内容大致相同:
{ field: 'severity', width: 270, values: this.viewModel.loggerSeverityValues, template: '#: getText(severity, this.viewModel.loggerSeverityValues) #' }
请注意,如果需要,可以使用getText()函数重写文本和值参数
不管怎么说,这对我很有效。这是一种解决办法,但从2014.3.1411版开始,kendo MVVM绑定似乎无法与外键正常工作
编辑:
对于现在使用剑道ng2+组件的任何人来说,相同的模式,但带有管道变换
管道:
从'@angular/core'导入{Pipe,PipeTransform};
@管道({name:'getText'})
导出类GetTextPipe实现PipeTransform{
转换(值:any,idPropertyName:string,valuePropertyName:string,valueArray:any[]):any{
if(value!=null&&valueArray!=未定义){
让retIndex=valueArray.map(v=>v[idPropertyName]).indexOf(value);
返回值数组[retIndex][valuePropertyName];
}
否则{
返回“”;
}
}
}