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

你可能感兴趣的:(mvc)