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' 为空或不是对象

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

  

 

 

你可能感兴趣的:(jquery easyui)