jquery easyui 学习笔记

datagrid

Q:批量删除的时候遇到已经选中多个项了但只删除了一条数据?

A:查看是否已经指定了idField并确认idField没有错误

Q:数据加载慢?

A:首先排除获取数据消耗的时间,然后为每个column指定宽度,因为datagrid会自动去为每个列计算宽度占用大量的时间,尤其是在你的列很多的情况下。

Q:页面上的时间类型显示成类型/Date(1283457528340)/这样,怎么处理?

A:使用formatter格式化,例如:

formatter: function (value) {
                            var d = new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
                            return d.getFullYear() + "-" + d.getMonth() + "-" + d.getDate();
                        }

 Tree

在后台动态生成Tree的json数据,往往会遇到一个节点包含多个子节点的情况,这个时候就需要构建一个ViewModel来装载数据。

public class CmbTree
    {
        public int id { get; set; }
        public string text { get; set; }
        public string iconCls { get; set; }
        public List<Object> children { get; set; }
    }

然后递归获取数据的集合

[NonAction]
        public List<CmbTree> GetTreeNode(int id)
        {
            List<CmbTree> cmbTreeList = new List<CmbTree>();
            using (PDSContext db = new PDSContext())
            {
                var parentList = db.regionals.Where(p => p.ParentID == id).ToList();
                if (parentList.Count >= 1)
                {
                    foreach (Regional item in parentList)
                    {
                        CmbTree cmbTree = new CmbTree { id = item.ID, text = item.RegionalName, children = new List<Object>() };
                        List<CmbTree> tempList = GetTreeNode(item.ID);
                        if (tempList.Count >= 1)
                        {
                            cmbTree.children.Add(tempList);
                        }
                        else
                        {
                            cmbTree.children = null;
                        }
                        cmbTreeList.Add(cmbTree);
                    }
                }
            }
            return cmbTreeList;
        }

在返回json数据时使用下面这种方式序列化数据,否则使用 return Json(cmbTreeList);返回的json格式easyui-tree无法识别children中的数据。

 public ContentResult SysManage()
        {
            List<CmbTree> cmbTreeList = new List<CmbTree>();
            cmbTreeList = GetTreeNode(0);
            JavaScriptSerializer json = new JavaScriptSerializer();            
            string jsonstring = json.Serialize(cmbTreeList).Replace("[[", "[").Replace("]]", "]");            
            return Content(jsonstring);
        }

 Asp.net MVC jquery easyui 在IE8浏览器下的兼容性

问题1:控制器返回json数据,页面提示下载文件.

解决方法:返回json时加上contentType为text/html.例如 return Json(result,"text/html").

问题2:'rowspan' 为空或不是对象

解决方法:检查 datagrid或者combogrid》columns》每个{field。。。}后面是否有多余的逗号。

问题3:'rows' 为空或不是对象

解决方法:检查返回的数据格式是否正确

  

 

 

posted @ 2013-01-29 21:44 AALMIX 阅读(...) 评论(...) 编辑 收藏