You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.Net Core中如何根据选中的CompanyID自动填充分支的Company Title

ASP.NET Core Kendo Grid 编辑表单下拉框联动填充字段

针对你在分支编辑弹出表单中,选择CompanyId后自动更新CompanyCode和CompanyDescr的需求,可通过以下步骤实现:

1. 为CompanyId下拉框绑定Change事件

修改Grid编辑表单中CompanyId的表单项配置,指定下拉框数据源并绑定选择事件:

tabItems.AddSimpleFor(m => m.CompanyId)
        .Editor(e => e.DropDownList()
            .DataTextField("CompanyDescr") // 下拉框显示的公司名称字段
            .DataValueField("Id") // 下拉框绑定的主键字段
            .BindTo(ViewBag.Companies) // 绑定后端传递的公司数据源
            .Events(ev => ev.Change("onCompanyIdChange"))); // 绑定下拉框选择事件

2. 编写前端联动逻辑

在页面中添加JavaScript函数,监听下拉框变化,获取选中的公司数据并填充对应字段:

function onCompanyIdChange(e) {
    // 获取当前下拉框实例及选中的数据项
    var dropdown = e.sender;
    var selectedCompany = dropdown.dataItem(dropdown.select());
    
    // 定位到编辑表单容器
    var editForm = dropdown.closest(".k-edit-form-container");
    
    // 填充CompanyCode和CompanyDescr字段
    var companyCodeInput = editForm.find("[name='CompanyCode']");
    var companyDescrInput = editForm.find("[name='CompanyDescr']");
    
    companyCodeInput.val(selectedCompany.CompanyCode);
    companyDescrInput.val(selectedCompany.CompanyDescr);
    
    // 触发组件change事件,确保Kendo Grid识别值的更新
    companyCodeInput.data("kendoTextBox").trigger("change");
    companyDescrInput.data("kendoTextBox").trigger("change");
}

3. 后端传递公司数据源

在对应Controller的Action中,将公司数据传递到前端ViewBag:

public IActionResult YourGridAction()
{
    // 从SQLite数据库获取公司数据,包含需要的字段
    ViewBag.Companies = _context.Companies.Select(c => new 
    {
        Id = c.Id,
        CompanyDescr = c.CompanyDescr,
        CompanyCode = c.CompanyCode
    }).ToList();
    
    return View();
}

可选优化:设置联动字段为只读

如果不需要用户手动修改CompanyCode和CompanyDescr,可将这两个字段设置为禁用状态:

tabItems.AddSimpleFor(m => m.CompanyCode).Enabled(false);
tabItems.AddSimpleFor(m => m.CompanyDescr).Enabled(false);

内容的提问来源于stack exchange,提问作者kilometer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:48