【问题标题】:Change DevExpress MVC ComboBox selected value based on another combobox value根据另一个组合框值更改 DevExpress MVC 组合框选定值
【发布时间】:2019-09-25 12:41:09
【问题描述】:

我的代码如下。我有 4 个组合框,都在单独的部分视图中,当我选择法官组合框时,我想更改县组合框的选定值。法官组合框在选择中包含县,因此您有名称,或者我可以根据法官 ID 查找县我该怎么做?

...

@model TestCascadeCombobox.Models.CCmaster

@{
    ViewBag.Title = "Create";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Create</h2>


@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <table>
        <tr>
            <td>
                <div style="padding:5px">
                    @Html.Label("County", "County")
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Partial("CountyPartial", Model)
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Label("Judge", "Judge")
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Partial("JudgePartial", Model)
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div style="padding:5px">
                    @Html.Label("Year", "Year")
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Partial("YearPartial", Model)
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Label("Month", "Month")
                </div>
            </td>
            <td>
                <div style="padding:5px">
                    @Html.Partial("MonthPartial", Model)
                </div>
            </td>
        </tr>
    </table>
}

接下来是法官的部分视图

@model TestCascadeCombobox.Models.CCmaster




@Html.DevExpress().ComboBox(settings =>
{
    settings.Name = "Judge";
    //settings.CallbackRouteValues = new { Controller = "CircuitCaseloads", Action = "JudgePartial"};
    settings.Properties.ValueType = typeof(int);
    settings.Properties.TextField = "FullName";
    settings.Properties.ValueField = "JudgeID";    
    settings.Properties.ClientSideEvents.SelectedIndexChanged = "function(s,e) { County.PerformCallback(); Month.PerformCallback(); }";

}).BindList(Model.judges).Bind(Model.judge).GetHtml()

【问题讨论】:

    标签: c# asp.net-mvc model-view-controller devexpress


    【解决方案1】:

    主要思想是处理(判断)ComboBox的客户端SelectedIndexChanged事件,并通过回调更新相关(县)ComboBox。查看相关的MVC ComboBox Extension - How to implement cascaded combo boxes 指南以查找所有必要的实施细节。

    【讨论】:

      【解决方案2】:

      这是我解决问题的方法。

      function CountyComboBox_EndCallBack(s, e) {  
      
          s.SetValue(County.cpcountyid);  
      
      }  
      
      
      settings.Properties.ClientSideEvents.EndCallback = "CountyComboBox_EndCallBack";  
          settings.CustomJSProperties = (s, e) =>  
          {  
              e.Properties["cpcountyid"] = ViewData["countyid"];  
          };
      

      【讨论】:

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