第一步:在页面上引入easyui的jQuery链接

1  <script src="../../Scripts/easyUI/jquery-1.7.2.min.js" type="text/javascript"></script>
2     <script src="../../Scripts/easyUI/jquery.easyui.min.js" type="text/javascript"></script>
3     <script src="../../Scripts/easyUI/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
4     <link href="../../Scripts/easyUI/themes/gray/easyui.css" rel="stylesheet" type="text/css" />
5     <link href="../../Scripts/easyUI/themes/icon.css" rel="stylesheet" type="text/css" />
View Code

记住jquery-1.7.2.min.js这个文件要放在最前面,不然会出现jQuery未定义的错误

第二步:第一个table用来承载datagrid

1 <table id="tab_list">   
2     </table>
View Code

第三步:初始化datagrid(由于我用的是MVC故url对应的是控制器中的controller/Action)

 1 <script type="text/javascript">
 2         $(function () {
 3             InitGird();
 4         }
 5         )
 6 
 7  //初始化表格
 8         function InitGird() {
 9             $('#tab_list').datagrid({
10                 title: '员工列表', //表格标题
11                 //                 url: location.href, //请求数据的页面
12                 url: '/DataGrid/GetJson ', //请求数据的页面
13                 sortName: 'ID', //排序字段
14                 idField: 'ID', //标识字段,主键
15                 iconCls: '', //标题左边的图标
16                 width: '80%', //宽度
17                 height: $(parent.document).find("#mainPanle").height() - 10 > 0 ? $(parent.document).find("#mainPanle").height() - 10 : 500, //高度
18                 nowrap: false, //是否换行,True 就会把数据显示在一行里
19                 striped: true, //True 奇偶行使用不同背景色
20                 collapsible: false, //可折叠
21                 sortOrder: 'desc', //排序类型
22                 remoteSort: true, //定义是否从服务器给数据排序
23                 frozenColumns: [[//冻结的列,不会随横向滚动轴移动
24                     {field: 'cbx', checkbox: true },
25                     { title: '员工姓名', field: 'Name', width: 150, sortable: true },
26                     { title: '住址', field: 'Address', width: 150 }
27                 ]],
28                 columns: [[
29                 //  { title: '电话', field: 'Tel', formatter: function (value, rec, index) { return value == 0 ? '管理员' : '普通用户' }, width: 120 },
30                 //  { title: '是否超级管理员', field: 'JSON_isadmin',formatter:function(value,rec,index){return value==0?'否':'是'}, width: 100 },
31                     {title: '电话', field: 'Tel', width: 150 },
32                     { title: '部门', field: 'Department', width: 150 },
33                     { title: '性别', field: 'Gender', width: 150 },
34                     {title: '邮箱地址', field: 'Email', width: 150 },
35                     { title: '操作', field: 'ID', width: 80, formatter: function (value, rec) {
36                         return '<a style="color:red" href="javascript:;" onclick="EditData(' + value + ');$(this).parent().click();return false;">修改</a>';
37                     }
38                     }
39                 ]],
40                 toolbar: "#tab_toolbar",
41                 queryParams: { "GetJson": "index" },
42                 pagination: true, //是否开启分页
43                 pageNumber: 1, //默认索引页
44                 pageSize: 10, //默认一页数据条数
45                 rownumbers: true //行号
46                // data:<%=ViewData["xx"]%> 
47             });
48 
49         }
50  </script>
View Code

第四步:控制器中返回数据

        [HttpPost]
        public ActionResult GetJson()
        {
            //StringBuilder JsonString = new StringBuilder();
            //EmployeInfo item = new EmployeInfo()
            //{
            //    ID = 1,
            //    Name = "陈力宏",
            //    Address = "南浦",
            //    Tel = "13902872166",
            //    DepID = 1,
            //    Gender = "男",
            //    Email = "123@qq.com"
            //};
            //JsonString.Append("{");
            //JsonString.Append("\"rows\":[ ");          
            //JsonString.Append("{");
            //JsonString.Append("\"ID\":" + "\"" + item.ID + "\",");
            //JsonString.Append("\"Name\":" + "\"" + item.Name.ToString() + "\",");
            //JsonString.Append("\"Address\":" + "\"" + item.Address.ToString() + "\",");
            //JsonString.Append("\"Tel\":" + "\"" + item.Tel.ToString() + "\",");
            //JsonString.Append("\"Department\":" + "\"" + item.DepID.ToString() + "\",");
            //JsonString.Append("\"Gender\":" + "\"" + item.Gender.ToString() + "\",");
            //JsonString.Append("\"Email\":" + "\"" + item.Email.ToString() + "\"");
            //JsonString.Append("}]");
            //JsonString.Append(",");
            //JsonString.Append("\"total\":");
            //JsonString.Append(1);
            //JsonString.Append("}");
            // return View("88888");
            ////ViewData["xx"] = JsonString.ToString();
            UserManagerServiceClient client = new UserManagerServiceClient(); //WCF服务中取出数据
            //string test = client.GetDepartmentNodes(1002);
            string JsonString = client.GetEmployee();
              return Content(JsonString); //用Content返回json
            // return Content(JsonString.ToString());

        }

第五步:WCF中

 1     /// <summary>
 2         ///获取员工信息
 3         /// </summary>
 4         /// <returns></returns>
 5         public string GetEmployee()
 6         {
 7             try
 8             {
 9                 using (UserManageDB db = new UserManageDB())
10                 {
11                     List<EmployeInfo> employeInfoList = db.EmployeInfo.ToList();
12                     string Json = ModelTOJson(employeInfoList);
13                     return Json;
14                 }
15             }
16             catch (Exception ex)
17             {
18                 throw ex;
19             }
20         }
21 
22         /// <summary>
23         /// 
24         /// </summary>
25         /// <param name="employeInfoList"></param>
26         /// <returns></returns>
27         private string ModelTOJson(List<EmployeInfo> employeInfoList)
28         {
29             StringBuilder JsonString = new StringBuilder();
30 
31             if (employeInfoList.Count > 0)
32             {
33                 JsonString.Append("{");
34                 JsonString.Append("\"rows\":[");
35                 int count = 0;
36                 foreach (var item in employeInfoList)
37                 {
38 
39                     JsonString.Append("{");
40                     JsonString.Append("\"ID\":" + "\"" + item.ID + "\",");
41                     //TODO:Replace()去掉特殊字符如:\ 和"
42                     JsonString.Append("\"Name\":" +"\"" + item.Name.ToString() + "\"," ); 
43                     JsonString.Append("\"Address\":" + "\"" + item.Address.ToString() +"\",");
44                     JsonString.Append("\"Tel\":" + "\"" + item.Tel.ToString() + "\",");
45                     JsonString.Append("\"Department\":" + "\"" + item.DepID.ToString() + "\"," ); //TODO:查找部门
46                     JsonString.Append("\"Gender\":" + "\"" + item.Gender.ToString() + "\"," );
47                     count++;
48                     if (employeInfoList.Count == count)
49                     {
50                         JsonString.Append("\"Email\":" + "\"" + item.Email.ToString() + "\"}" );
51                     }
52                     else
53                     {
54                          JsonString.Append("\"Email\":" + "\"" + item.Email.ToString() + "\"}," );
55                     }                    
56                 }
57                 JsonString.Append("]");
58                 JsonString.Append(",");
59                 JsonString.Append("\"total\":");
60                 JsonString.Append(count);
61                 JsonString.Append("}");             
62             }
63            return JsonString.ToString();
64         }
65     }

Entityframework

  public class UserManageDB : DbContext
    {
        public UserManageDB()
            : base("name = conn")
        {
            Database.SetInitializer<UserManageDB>(null);
        }

        public IDbSet<Department> Department { get; set;}
        public IDbSet<EmployeInfo> EmployeInfo { get; set; }
    }

App.config

    <add name="conn" providerName="System.Data.SqlClient" connectionString="Server=Chenlh-PC\SQL2012;Database=UserManage;uid=sa;pwd=Chenlh123;Persist Security Info=True;" />

Model

 /// <summary>
    /// 员工信息
    /// </summary>
    [DataContract]
    [Table("dt_Employee")]
    [Serializable]
    public class EmployeInfo
    {
        #region 自定义成员变量

        private int m_ID;
        private string m_Name;
        private string m_Address;
        private string m_Tel;
        private int m_DepID;  //部门ID
        private string m_Gender;
        private string m_Email;

        #endregion

        #region 公共属性

        /// <summary>
        /// 员工ID号
        /// </summary>
        [DataMember]
        [Column("ID")]
        [Key]
        public int ID
        {
            get
            { 
                return m_ID; 
            }
            set
            {
                m_ID = value;
            }
        }

        /// <summary>
        /// 员工姓名
        /// </summary>
        [DataMember]
        [Column("EmployeeName")]
        public string Name
        {
            get
            {
                return m_Name;
            }
            set
            {
                m_Name = value;
            }
        }

        /// <summary>
        /// 员工地址
        /// </summary>
        [DataMember]
        [Column("Address")]
        public string Address
        {
            get
            {
                return m_Address;
            }
            set
            {
                m_Address = value;
            }
        }

        /// <summary>
        /// 员工电话
        /// </summary>
        [DataMember]
        [Column("Tel")]
        public string Tel
        {
            get
            {
                return m_Tel;
            }
            set
            {
                m_Tel = value;
            }
        }

        /// <summary>
        /// 员工所属部门
        /// </summary>
        [DataMember]
        [Column("DepID")]
        public int DepID
        {
            get
            {
                return m_DepID;
            }
            set
            {
                m_DepID = value;
            }
        }

        /// <summary>
        /// 员工性别
        /// </summary>
        [DataMember]
        [Column("Gender")]
        public string Gender
        {
            get
            {
                return m_Gender;
            }
            set
            {
                m_Gender = value;
            }
        }

        /// <summary>
        /// 员工的Email
        /// </summary>
        [DataMember]
        [Column("Email")]
        public string Email
        {
            get
            {
                return m_Email;
            }
            set
            {
                m_Email = value;
            }
        }
        #endregion
    }
View Code

 

posted on 2014-03-31 16:56  随心所意  阅读(1144)  评论(0编辑  收藏  举报