C# Kendo UI根据列的数据类型为其设置不同的模板

C# Kendo UI根据列的数据类型为其设置不同的模板,c#,telerik,kendo-ui,telerik-grid,telerik-mvc,C#,Telerik,Kendo Ui,Telerik Grid,Telerik Mvc,我有这样的网格 @(Html.Kendo().Grid(Model.Differences) .Name("formDifferencesList") .HtmlAttributes(new { @class = "fullScreen" }) .Columns(columns => { columns.Bound(e => e.Property);

我有这样的网格

@(Html.Kendo().Grid(Model.Differences)
    .Name("formDifferencesList")
    .HtmlAttributes(new { @class = "fullScreen" })
    .Columns(columns =>
                        {
                            columns.Bound(e => e.Property);
                            columns.Bound(e => e.FieldPath);
                            columns.Bound(e => e.FieldType);
                            columns.Bound(e => e.Type);
                            columns.Bound(e => e.LeftValue);
                            columns.Bound(e => e.RightValue);
                        })
    .Pageable()
    .Sortable()
    .Scrollable()
    .Selectable()
    .Resizable(resize =>
        resize.Columns(true))
        .Groupable()
        .Filterable()
        .DataSource(dataSource =>
            dataSource.Ajax()
            .PageSize(25)
            .ServerOperation(false)
                .Model(model => model.Id(e => string.Format("{0}{1}", e.Property, e.FieldPath)))))
RightValue
LeftValue
是类型
对象的实例
,它可以是基本值(如
int
string
),也可以是集合。如果它是一个集合,我想用Kendo
ListView
来表示它。我该怎么做

我试图绑定到数据绑定事件

.Events(events => events.DataBound("onDifferencesDataBounded"))
将ClientTemplate添加到网格中

columns.Bound(e => e.LeftValue).ClientTemplate("<div class='leftValueView'></div>");
columns.Bound(e=>e.LeftValue).ClientTemplate(“”);
然后在js函数内部尝试应用该模板

<script type="text/javascript">
    function onDifferencesDataBounded() {
        $.each($('.leftValueView'), function () {
            var grid = $('#formDifferencesList').data().kendoGrid;
            var row = $(this).closest('tr');
            var dataItem = grid.dataItem(row);
            $(this).kendoListView({
                dataSource: { data: dataItem },
                template: kendo.template($("#leftValueTemplate").html())
            });
        });
    }
</script>

<script type="text/x-kendo-template" id="leftValueTemplate"> 
    // Not sure what should I do here?
</script>

函数onDifferencesDataBounded(){
$.each($('.leftValueView'),函数(){
var grid=$('#formDifferencesList').data().kendoGrid;
var行=$(this).closest('tr');
var dataItem=grid.dataItem(行);
$(此).kendoListView({
数据源:{data:dataItem},
模板:kendo.template($(“#leftValueTemplate”).html()
});
});
}
//不知道我该怎么办?

当您在数据项中放置断点时,在数据项中是否有任何内容。LeftValue或RightValue(如数组)


var dataItem=grid.dataItem(行);// 在dataItem.LeftValue或RightValue(如数组)中放置断点时,是否有任何内容

var dataItem=grid.dataItem(行)//