jQuery MiniUI

标题: datagrid编辑问题combox加载数据带参数 [打印本页]

作者: Nicola    时间: 2012-11-29 16:15:54     标题: datagrid编辑问题combox加载数据带参数

如下: <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,请问怎么实现

作者: factory    时间: 2012-11-29 16:33:16

因为只有当处于编辑状态,才会创建编辑器。
你可以监听表格的编辑oncellbeginedit事件,当编辑的时候把URL设置给这个combobox。
function cellbeginedit(e){
    if(e.field="EquipmentSource"){
       e.editor.setUrl(.....)
     }
}
作者: Nicola    时间: 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);
            }
        }
这样子就可以,还有其他的方法请回复
作者: factory    时间: 2012-11-29 16:52:59

Nicola 发表于 2012-11-29 16:36
function OnCellBeginEdit(e) {        
            var grid = e.sender;
            var field =  ...

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




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2