setTimeout("baseDataGridInit(\"" + TableID+ "\",\"" + DataGridID+ "\",\""+ToolBar+"\",\""+opts+"|")", 1000);这样试试呢!!

解决方案 »

  1.   

    你这是在问,你上面的写法是不是正确的?baseDataGridInit 你这个写的,不是传的几个参数吗,虽然参数可以是对象。你说的传一个对象,是啥意思?你要把这四个参数以一个对象的形式传入?
      

  2.   

    不好意思,我表达不清晰。
    上面的意思大概是这样:
    我要给 datagrid 传多一个属性,
    那么我必须修改
    baseDataGridInit 这个方法。
    我能不能做到不修改 baseDataGridInit  这个方法又可以满足我的需求呢?
      

  3.   

    本帖最后由 showbo 于 2013-12-20 15:15:29 编辑
      

  4.   

    可以,用arguments[n]按位置来取参数
      

  5.   


    baseDataGridInit = function (TableID, DataGridID, ToolBar, opts) {
        DataGridID = (DataGridID || "DataGrid");
        ToolBar = (ToolBar || "ToolBar");
        var otherParms=null;
        if (arguments.length>4){
           otherParms=arguments[4];
        }
        //初始化数据表格
        $("#" + DataGridID).datagrid({
            toolbar: "#" + ToolBar,
            striped: true,
            nowwrap: false,
            border: true,
            fit: (opts.fitColumns || true),
            loadMsg: "",
            queryParams: (opts.queryParams || { "method": "query" }),
            idField: TableID,
            url: (opts.url || location.href),
            fitColumns: (opts.fitColumns||false),
            pagination: true,
            rownumbers: true,
            singleSelect: false,
            autoRowHeight:false},otherParms);
    }