Combobox zk:组合框模型绑定问题

Combobox zk:组合框模型绑定问题,combobox,zk,zul,Combobox,Zk,Zul,我有一个模型,我已附加到combobox,在浏览器中,我可以看到作为KPI名称的标签。问题是,在保存后获取模型时,除了kpiFrequency.kpi的这个组合框值或kpiFrequency中的kpiDTO值之外,所有内容都存在。我希望任何对象都填充选定的kpi频率以及关联的kpi对象 <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%"

我有一个模型,我已附加到combobox,在浏览器中,我可以看到作为KPI名称的标签。问题是,在保存后获取模型时,除了kpiFrequency.kpi的这个组合框值或kpiFrequency中的kpiDTO值之外,所有内容都存在。我希望任何对象都填充选定的kpi频率以及关联的kpi对象

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>
这是我的密码: .zul文件

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>

我的DTO快断了

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>
public class KpiFrequencyDTO  {

    private KPIFrequency kpiFrequency;
    private List<KPIFrequency> kpiFrequencyList;
    private List<String> frequencyNameList;
    private List<String> typeList;
    private List<String> aggFormulaList;
    private List<KpiDTO> kpiList;
    private KpiDTO kpiDTO;
公共类KPIfFrequencyDTO{
专用KPIFFrequency KPIFFrequency;
私有列表KPIfFrequencyList;
私有列表频率名称列表;
私有列表类型列表;
私人名单;
私人名单;
私人KpiDTO KpiDTO;
答复 我正在添加对我有效的答案。在combobox中,它解决了我面临的问题,而不是使用selectedItem,而是使用value。

请参阅

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>
您将了解ZK组合框背后的逻辑,以及如何对代码进行更改。

请参阅

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>
您将了解ZK组合框背后的逻辑,以及如何在代码中进行更改

    <combobox id="kpiCombobox" model="@load(kf.kpiList)" readonly="true" maxlength="40" width="80%" 
                                                     onChange="@command('onChnageKpiHeaderLabel')" selectedItem="@bind(kf.kpiFrequency.kpi.kpiName)">
                                                      <template name="model" var="kpiDTO">
                                                        <comboitem label="@load(kpiDTO.kpi.kpiName)" />
                                                     </template>
                                                </combobox>