MVC4做网站后台:用户管理 ——用户组补充

上次做完发现存在点问题。

1、是类型显示的为数字(如下图);

2、是不能根据类型进行查询。

image

首先做查询。easyui—datagrid可以添加toolbar。

在datagrid的data-options部分添加toolbar:'#toolbar'(下图1)

在datagrid下面添加一个div标签(下图2)

image

id为groupType的组合框就是用来显示用户组类型。在底部添加一段脚本获取这个组合框的数据,然后写一个根据value获取名称的函数,在datagrid的Type列的formatter中调用,脚本如下。

<script type="text/javascript">
    var _types;//类型
    function GetType(tid) {
        var _name;
        if (_types == undefined) _types = $("#groupType").combobox('getData');
        for (i = 0; i < $(_types).size() ; i++) {
            if (_types[i].Value == tid) {
                _name = _types[i].Name;
            }
        }
        return _name;
    }
</script>

(上面脚本中for循环查找的效率太差,对js也不熟悉不知道怎么写才好知道的兄弟,提点一下。)

datagrid中的调用方法

image

看下效果。

image

好了,下面处理根据类型列出用户组的问题。

要实现这块ListJson()需要增加一个参数表示要查询的用户组类型。可能查询全部类型,也可以查询某一类型。查询全部时参数为空,因此把参数类型设为int?型。

另一个在InterfaceUserGroup接口中添加一个根据类型查找的函数

/// <summary>
        /// 用户组列表——考虑是否移入后台
        /// </summary>
        /// <param name="typeId">类型Id</param>
        /// <returns></returns>
        IQueryable<UserGroup> List(int typeId);

并把ListJson()代码改为

/// <summary>
        /// 用户列表【Json】
        /// </summary>
        /// <returns>Json类型</returns>
        public ActionResult ListJson(int? id)
        {
            if(id == null) return Json(iUserGroup.Find());
            else return Json(iUserGroup.List((int)id));
        }

控制器这块完成。视图中再添加查询脚本,这里调用datagrid的load方法。

$("#groupSearch").click(function () {
        $("#groupDataGrid").datagrid('load', {
            id: $("#groupType").combobox('getValue')
        });
    });

完工。效果如下:

image

代码:http://pan.baidu.com/s/1sj0d5TV

posted @ 2014-01-21 22:21  洞庭夕照  阅读(1512)  评论(3编辑  收藏  举报