【发布时间】:2018-04-30 12:25:21
【问题描述】:
当我使用内联下拉列表拉出其中一个字段时,我设置了一个网格。
我可以从下拉列表数据项中检索我需要的值,我可以使用下拉列表在网格的编辑行中设置值。
只要 A、B、C 和 D 是可编辑的,以下代码就可以正常工作……但是……这些值不应该是可编辑的。这些单元格中的值应严格由下拉列表的值驱动。
function ddl_OnSelect(e)
{
var DDLdataItem = this.dataItem(e.item);
var A = DDLdataItem.A;
var B = DDLdataItem.B;
var C = DDLdataItem.C;
var D = DDLdataItem.D;
var grid = $('#grd').data('kendoGrid');
var editRow = grid.dataItem("tr.k-grid-edit-row");
editRow.set("A", DDLdataItem.A);
editRow.set("B", DDLdataItem.B);
editRow.set("C", DDLdataItem.C);
editRow.set("D", DDLdataItem.D);
}
我觉得我应该能够在模板列中显示值,但我没有在 column.template 上找到任何好的文档,当我执行此类操作时,它只会给我一个空列。
columns.Template(
@<text>
<input type="text" name="A" value="@item.A" readonly />
</text>
).Title("A");
更新
好的....所以我为“解决”问题所做的工作是...
首先,我创建了一个名为 ReadOnlyCurrency 的新编辑器模板并将其放置在共享的 EditorTemplates 中。
然后,对于这适用的 3 个货币列中的每一个,我添加了编辑器模板名称属性。
.EditorTemplateName("ReadOnlyCurrency")
然后我复制货币编辑器模板的内容并将其粘贴到只读货币模板中
我关闭了微调器,将其设为只读,并将其设为 false。
@model decimal?
@(Html.Kendo().CurrencyTextBoxFor(m => m)
.HtmlAttributes(new { style = "width:100%;", @readonly = "readonly" })
.Enable(false)
.Min(0)
.Spinners(false)
)
这对于我正在尝试做的事情已经足够了,但我不会将其标记为答案。
我更希望有一个格式化为货币的标签......但是我在编辑器模板在模型中传递的方式方面遇到了问题。
【问题讨论】:
标签: model-view-controller telerik grid