【问题标题】:kendo grid foreign column selected text being overrriden by client template剑道网格外栏选定的文本被客户端模板覆盖
【发布时间】:2015-11-10 12:20:22
【问题描述】:

我在 MVC 项目上有一个剑道网格,其外键列和客户端模板在同一列上,用于将数据发送到控制器(隐藏),因为我在剑道网格上方有一个标题信息,我想发送到控制器。一切正常。但是当我在网格中选择下拉菜单时,它会显示值而不是文本。

columns.ForeignKey(c => c.studentId, (System.Collections.IEnumerable)ViewData["Students"], "Id", "name").Title("id - name").Width(70)

.ClientTemplate("#= studentId #" + "") ;

以上是我目前拥有的确切代码。

如何在剑道网格上向用户显示所选文本(本例中为名称)而不是值(本例中为 ID)。

谢谢

【问题讨论】:

  • 有没有找到解决方案?我有同样的问题。

标签: kendo-ui grid selected


【解决方案1】:

刚遇到同样的问题,在telerik site上发现了这个:

基本上创建一个函数,从网格中的外键下拉列表中查找文本。

 columns.ForeignKey(c => c.G_ID, plus, "Value", "Text").Title("Plu").Lockable(true).ClientFooterTemplate("Total").ClientTemplate("#= getTextByValue(data)#" +
        "<input type='hidden' name='Schedules[#= index(data)#].G_ID' value='#= G_ID #' />"); //.Hidden();

和javascript:

var collection;

以及功能:

function getTextByValue(data) {
    console.log(data);
    var dGrid = $("#the-dtl-grid").data("kendoGrid");
    //change the index of the column with your index
    valuesCollection = dGrid.options.columns[1].values;

    //if the collection is empty - get it from the grid
    if (!collection) {
        collection = {};
        //Set the correct FKColumn index
        for (var value in valuesCollection) {
            collection[valuesCollection[value].value] = valuesCollection[value].text;
        }
    }
    return collection[data.G_ID];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    相关资源
    最近更新 更多