jQuery MiniUI

 找回密码
 立即注册
查看: 4541|回复: 5
打印 上一主题 下一主题

mini-datagrid下mini-combobox怎样输入下拉框外的值 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-12-21 10:06:03 |只看该作者 |倒序浏览
datagrid中有一个combobox(如下代码的姓名),数据是从后台取来的,如果我输入除后台之外的数据,该combox失去焦点后,则显示为空。主要代码如下,
<div id="402880e7606e08fc016071989a410018" class="mini-datagrid"
                                                onCellcommitedit="orgGridCommitPerson"
                                                style="width:100%;height:300px;" allowCellEdit="true"  
                                                allowCellSelect="true" multiSelect="true" showPager="false"  allowCellWrap="true">
                                                <div property="columns">
                                                        <div type="checkcolumn" width="30"></div>
                                                        <div field="idx" type="indexcolumn" header="序号"  headerAlign="center"  width="110"></div>
                                                    <div field="xm"  header="姓名"  headerAlign="center" type="comboboxcolumn" width="110" allowInput="true" >
                                                        <input property="editor" class="mini-combobox" name="xm"  url="${pageContext.request.contextPath}/dossierParam/findAllFieldListByDeptId.action?deptId=402880e7606e08fc016071989a410018" allowInput="true" valueField="uuid" textField="userName"/>
                                                    </div>
                                                    <div field="gwjb" header="岗位级别" headerAlign="center"   allowInput="true" width="110">
                                                                <input property="editor" class="mini-textbox" name="gwjb" allowInput="true" />
                                                        </div>
                                                        <div field="jbgz" header="基本工资" headerAlign="center" allowInput="false" dataType="currency"  width="150" >
                                                                <input property="editor" class="mini-spinner" format="n2" allowLimitValue="false" name="jbgz" allowInput="true" decimalPlaces="2"/>
                                                        </div>
                                                        <div field="jjbz" header="奖金标准" headerAlign="center" numberFormat="p2" width="110" >
                                                            <input property="editor" class="mini-spinner"  format="p2" allowLimitValue="false" name="jjbz" allowInput="true" />
                                                        </div>
                                                        <div field="bz" header="备注" headerAlign="center"    width="110" >
                                                                <input property="editor" class="mini-textbox" name="bz" allowInput="true"/>
                                                        </div>
                                                </div>
                                               
                                               
                                        </div>



js代码:
        <%-- 单元格编辑开始前事件 --%>


function orgGridBeginEditPerson(e){

                var grid = e.sender;
                var record=e.record,
                        editor = e.editor,
                        field=e.field;
               
               
        }
        <%-- 单元格编辑提交事件 --%>
        function orgGridCommitPerson(e){
                var grid = e.sender;
                var record=e.record,field=e.field;
                //姓名
                if (field == "xm") {
                        var name=e.text,
                                userAllFiledArrLen=userAllFiledArr.length;
                        if(name!==""&&userAllFiledArrLen>0&&name!=e.value){
                                for(var i=0;i<userAllFiledArrLen;i++){
                                        if(name===userAllFiledArr[i].userName){
                                                record.gwjb=userAllFiledArr[i].postt;
                                        }
                                }
                                grid.updateRow(record,record);
                        }
                }
               
        }

Rank: 2

沙发
发表于 2017-12-21 10:09:21 |只看该作者
如从后台取过来的数据,只有陈健,如果我输入123,则失去焦点后,就显示为空了。获取焦点才能不为空。

Rank: 8Rank: 8

板凳
发表于 2017-12-21 11:42:40 |只看该作者
十三圆桌骑士 发表于 2017-12-21 10:09
如从后台取过来的数据,只有陈健,如果我输入123,则失去焦点后,就显示为空了。获取焦点才能不为空。
...

如果是type="comboboxColumn",那么就不支持不在下拉中的数据

可以用field+displayfield来支持这样的需求,但是这样你需要维护两个字段的数据

Rank: 2

地板
发表于 2017-12-21 11:51:14 |只看该作者
felt 发表于 2017-12-21 11:42
如果是type="comboboxColumn",那么就不支持不在下拉中的数据

可以用field+displayfield来支持这样的需 ...

那我需要怎样最快修改一下?

Rank: 8Rank: 8

5#
发表于 2017-12-21 12:20:36 |只看该作者
十三圆桌骑士 发表于 2017-12-21 11:51
那我需要怎样最快修改一下?
  1.   <div field="xm" displayField="xm_name"  header="姓名"  headerAlign="center" width="110"  >                                                        <input property="editor" class="mini-combobox" url="${pageContext.request.contextPath}/dossierParam/findAllFieldListByDeptId.action?deptId=402880e7606e08fc016071989a410018" allowInput="true" valueField="uuid" textField="userName"/>
  2.                                                     </div>
复制代码

Rank: 2

6#
发表于 2017-12-21 12:51:27 |只看该作者
felt 发表于 2017-12-21 11:42
如果是type="comboboxColumn",那么就不支持不在下拉中的数据

可以用field+displayfield来支持这样的需 ...

我已经解决了,谢谢!

Archiver|普加软件

GMT+8, 2024-9-29 01:30 , Processed in 1.064333 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部