具有级联 DropDownList 的 Kendo UI 网格

2024-02-13

我的 Razor 布局上有一个 Kendo UI 网格,它从控制器获取数据。

在此网格中,我希望有一组 3 个 DropDownList,它们是:

ProductGroups, Products, Services

我希望实现的行为是,当我向网格添加一行时,我选择ProductGroups首先,以及Products下拉列表已更新,产品列表按以下条件过滤GroupId(价值)。然后选择Product和第一个一样,更新Services包含按以下条件过滤的服务的下拉列表productId(价值)。

我不太知道如何实现这一目标,有人可以帮助我吗?

感谢大家的帮助。

此致。


这是我为 GridEditMode.InCell 所做的工作。我有客户和基金,每个客户都有自己的基金列表,因此当用户选择客户时,我只需要显示特定于该客户的基金

看法: Kendo Grid UI 设置

    c.ForeignKey(p => p.ClientId, Model.Clients, "Id", "ClientName")
      .Title("Client")
      .Width(100);
    c.ForeignKey(p => p.FundId, Model.Funds, "Id", "Description")
      .EditorViewData(new {funds = Model.Funds})
      .EditorTemplateName("FundForeignKeyEditor")
      .Title("Fund")
      .Width(100);
   })
   .Editable(x => x.Mode(GridEditMode.InCell))
   .Events(e => e.Edit("gridEdit"))

现在,当用户单击“基金”时,您需要对基金的数据源执行过滤,您可以使用 JavaScript 在“gridEdit”事件上执行此操作。您将此代码放在与上面的代码相同的视图/文件中

<script type="text/javascript">
    function gridEdit(e) {
        var fundDropDown = e.container.find("#FundId").data("kendoDropDownList");

        if (fundDropDown) {
            fundDropDown.dataSource.filter({ field: "ClientId", operator: "eq", value: e.model.ClientId });

</script>

基金有“FundForeighKeyEditor”编辑器模板,您必须将其添加到 Views\Shares\EditorTemplate 文件夹中。您可以使用任何名称,只需确保文件模板的名称与 EditorTemplateName 的名称匹配即可。就我而言,我使用“FundForeignKeyEditor”作为 EditorTemplate 和 FundForeighKeyEditor.cshtml 文件

FundForeighKeyEditor.cshtml

@model FundViewModel

@(
        Html.Kendo().DropDownListFor(m => m)
            .BindTo((System.Collections.IEnumerable)ViewData["funds"])
            .DataTextField("Description")
            .DataValueField("Id")
)

这是一个 FundViewModel,它包含 ClientId,因此我可以对其进行过滤

public class FundViewModel
{
    public string Id { get; set; }
    public string ClientId { get; set; }
    public string Description { get; set; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有级联 DropDownList 的 Kendo UI 网格 的相关文章

  • kendo ui 取消树视图放置

    我有一个 TreeView 一旦用户将项目放到所需的位置 它会显示一个对话框并要求确认 如果用户选择取消 我还如何取消项目的放置 以便它返回到其原始位置 我当前的代码如下但不起作用 var newDiv document createEle
  • Kendo TreeView 搜索并突出显示

    我有一个带有 spriteclass 的 KendoTreeview 我想用我的搜索词突出显示节点 根节点和子节点 我已经实现了搜索功能 但是当我搜索它时 问题是突出显示节点中的术语 但在第一次搜索后缺少节点中的 SpriteClass 任
  • 将日期值绑定到角度剑道日期选择器中的 ng-model

    我有一个API 它以这种格式返回日期 014 08 26T15 10 45 402Z 我正在使用角度kendo ui 我面临的问题是日期没有绑定到kendo日期选择器 有人可以吗帮帮我
  • 如何使用 ComboBox 作为 Kendo UI 网格列?

    我正在使用剑道网格 并尝试将名称字段设置为具有自己的数据源的组合框 我没有收到 javascript 错误 但是当我去编辑网格中的名称字段时 它没有显示组合框 它仍然显示一个输入字段 function console log ready v
  • 如何刷新 Kendo UI 网格

    我正在尝试刷新 Kendo UI 网格 但尚未成功 有人可以告诉我我错过了什么或我做错了什么吗 我有以下代码 cshtml btnRefresh click function e ajax type POST url Url Content
  • Kendo 可排序:无法编辑可排序表内的文本输入

    我有以下可排序表 其中包含可排序行 http demos telerik com kendo ui sortable events http demos telerik com kendo ui sortable events tbody
  • Kendo 网格列宽度 + 可滚动

    我正在尝试从 JavaScript 绑定到可滚动剑道网格 但在列宽方面遇到了一些问题 这fiddle http jsfiddle net mnTGm 1 演示了问题 问题末尾的代码 我在 html 中指定标头并向其中一个标头添加宽度 然后
  • Kendo UI - observable、ObservableObject 和 Model 之间的区别

    observable ObservableObject 和 Model 之间有什么区别 谢谢 Model继承自ObservableObject 而ObservableObject又继承自Observable 可观察的 http docs k
  • 剑道网格服务器端过滤并且不工作

    我正在使用 Kendo 网格 具有服务器端过滤 排序和分页功能 这是我初始化网格的代码 在此代码中 服务器端分页和虚拟滚动正常工作 但过滤和短路不起作用 在任何请求中 我都会得到这个 请求参数的类型 HttpPost public Json
  • RTL 语言的 Kendo PDF 导出问题

    I want to export PDF from Kendo Grid Using ASP MVC that s work fine but when the texts are in RTL mode ex Arabic Persian
  • Kendo 模块和 RequireJS (r.js) 表现不佳。 (加载时出错)

    我在用Kendo UI版本2013 1 514 and RequireJS r js版本2 1 6 我的项目在标准下完美运行RequireJS按需加载 但是 当我尝试使用优化器时 任何 Kendo 都不会加载 包括其中任何一个都会引起著名和
  • Web API + OData - PATCH 请求 400 错误

    我有一个链接到 Web Api 2 OData 控制器的 Kendo UI 数据源 并且在更新操作时遇到问题 我可以很好地创建和删除 当我在进行任何更新后调用将数据源同步到服务器时 我收到 400 错误 odata error code m
  • GXT - 根据行中的一个单元格对整个网格行进行着色

    我根据单元格的值对一列进行着色 但我想对 gxt 网格中的整行 意味着单元格包含的行 进行着色帮助我 这是我为单元格着色的代码 我想为行而不是单元格着色 Coloring Area GridCellRenderer
  • 如何使 StringGrid 的列适合网格的宽度?

    我已经寻找解决方案很长时间了 但没有任何运气 有谁知道一个简单的方法来做到这一点 例如 我想拉伸网格的第二列以适应网格的宽度 Use the ColWidths财产 像这样 with StringGrid1 do ColWidths 1 C
  • 根据屏幕尺寸更改 md-grid-list 的布局或 cols 值

    我正在使用的网格列表角材2 https material angular io components grid list examples 这是笨蛋https plnkr co edit 0v9R3e4x3tThh85147x7 p pre
  • document.execCommand('copy') 有大小限制吗?

    我使用的 document execCommand copy 与此处描述的类似 https developers google com web updates 2015 04 cut and copy commands https deve
  • ExtJS GridPanel 中的垂直滚动条

    我正在开发一个项目 其中页面上有一个 GridPanel 该面板可以显示任意数量的行 并且我设置了 autoHeight 属性 这会导致 GridPanel 扩展以适合行数 我现在想要一个水平滚动条 因为在某些分辨率下 并非所有列都会显示
  • GridSplitter 从右侧调整大小 - 奇怪的行为

    使用 Kaxaml 从左侧调整大小可以按预期工作
  • Python Tkinter 在 GUI 中嵌入 Matplotlib

    我正在尝试将绘图嵌入到用 Python 编码的 Tkinter GUI 中 我相信下面的代码成功地将图形放入画布中 但我无法控制 GUI 网格中的画布位置 我希望能够将 GUI 的一部分作为情节 而不是全部 我怎样才能定位这个画布小部件 u
  • Bootstrap Grid System 新线看起来不太好

    最近 我开始在我的网站上制作一个管理页面来编辑多个小表 1 5 个条目 它们全部显示在一页上 并且表格嵌套在 div 中 如下所示 div class row div class col xs 12 col sm 4 col md 4 di

随机推荐