jQuery MiniUI

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

datagrid编辑问题combox加载数据带参数 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-11-29 16:15:54 |只看该作者 |倒序浏览
如下: <div id="DetailsGrid" class="mini-datagrid" style="width: 100%; height: 100%;"
            url="/EqmApply/GetApplyDetailsForGrid" bodystyle="border:0px;" idfield="ApplyDetailsID"
            multiselect="true">
            <div property="columns">
                <div type="checkcolumn" width="5%">
                </div>
                <div field="StandardName" width="120" headeralign="center" allowsort="true">
                    名称</div>
                <div field="EquipmentSource" width="100" allowsort="true" headeralign="center">
                    来源
                    <input property="editor" class="mini-combobox" style="width: 100%;"  id="comsource1" />
                </div>
            </div>
        </div>

var applyDetailsGrid = mini.get("DetailsGrid");
DetailsGrid.load({ applicationID: 1},function(e){
             var rows = applyDetailsGrid.getData();
                for (var i = 0, l = rows.length; i < l; i++) {
                    var row = rows[i];
                    applyDetailsGrid.beginEditRow(row);
                }
        });
现在我的combox加载数据
     var comsource = mini.get("comsource1");
        var url1 = "/Dictionary/GetDictionaryCombox?name=" + escape("来源");
        comsource.setUrl(url1);
数据加载不了因为找不到combox,请问怎么实现

Rank: 8Rank: 8

沙发
发表于 2012-11-29 16:33:16 |只看该作者
因为只有当处于编辑状态,才会创建编辑器。
你可以监听表格的编辑oncellbeginedit事件,当编辑的时候把URL设置给这个combobox。
function cellbeginedit(e){
    if(e.field="EquipmentSource"){
       e.editor.setUrl(.....)
     }
}

Rank: 2

板凳
发表于 2012-11-29 16:36:10 |只看该作者
     function OnCellBeginEdit(e) {        
            var grid = e.sender;
            var field = e.field,;
            var editor = e.editor;
            if (field == "EquipmentSource") {
                    var url = "/Dictionary/GetDictionaryCombox?name=" + escape("来源");
                    editor.setUrl(url);
            }
        }
这样子就可以,还有其他的方法请回复

Rank: 8Rank: 8

地板
发表于 2012-11-29 16:52:59 |只看该作者
Nicola 发表于 2012-11-29 16:36
function OnCellBeginEdit(e) {        
            var grid = e.sender;
            var field =  ...

你要动态更改URL,肯定要获取到到控件对象
而控件对象只有在表格处于编辑状态的时候才会创建,不编辑的时候是不会创建的,所以无法更改URL

Archiver|普加软件

GMT+8, 2024-11-26 06:21 , Processed in 1.043417 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部