AnjularJS ngTable插件使用备忘记录(一个ngTableDemo)

项目中用到AngularJS的表格ng-table,功能相当强大,基本的排序、分页等都有。这里做个备忘,以便以后使用。

该Demo利用vs2012中的webapi(暂时没连数据库),下面是详细代码

ngTable.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <link href="Content/bootstrap/bootstrap.css" rel="stylesheet" />
    <script src="Scripts/anjularJS/angular.min.js"></script>
    <script src="Scripts/jquery-1.9.0.js"></script>
    <script src="Scripts/ng-table/ng-table.js"></script>
    <link href="Scripts/ng-table/ng-table.css" rel="stylesheet" />
    <script src="Scripts/angular-ui/ui-bootstrap-tpls.js"></script>
    <script src="Scripts/angular-ui/ui-bootstrap.js"></script>
    <script src="myTable.js"></script>
</head>
<body >
    <div  ng-app="myTable" ng-controller="table1Ctrl">
        <h3>AnjularJS ngTable插件使用</h3>
        <table ng-table="tableParams" class="table table-condensed table-bordered table-striped" style="text-align:center" >
            <tr ng-repeat="user in $data">
                <td title="‘ID‘"  sortable="‘ID‘">{{user.ID}}</td>
                <td title="‘Name‘"  sortable="‘Name‘">{{user.Name}}</td>
                <td title="‘Age‘" sortable="‘Age‘">{{user.Age}}</td>
                <td title="‘Email‘"  sortable="‘Email‘">{{user.Email}}</td>
            </tr>
        </table>
    </div>
</body>
</html>

myTable.js

var app = angular.module(‘myTable‘, [‘ngTable‘, ‘ui.bootstrap‘]);

app.factory(‘UsersFactory‘, function ($http, $rootScope) {
    return {
        getUsers: function () {
            var users = $http.get("http://localhost:7366/api/User/GetUser");
            return users;//正常
        }
    };
});

app.controller("table1Ctrl", function ($scope, NgTableParams, UsersFactory) {
    $scope.GetUsers = function () {
        UsersFactory.getUsers().success(function (data) {
            //alert(data);
            $scope.tableParams = new NgTableParams({ count: 10 }, { counts: [], dataset: data });
        }).error(function (data) {
            $scope.error = "An Error has occured while Loading LeagueTable! " + data.ExceptionMessage;
        });
    }

    $scope.GetUsers();
});

Models中的User.cs

    public class User
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Email { get; set; }
    }

App_Start中的WebApiConfig.cs路由配置

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

Controllers中的UserController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using XZDemo.Models;

namespace XZDemo.Controllers
{
    public class UserController : ApiController
    {
        //
        // GET: /User/

        [HttpGet]
        [ActionName("GetUser")]
        public List<User> GetUser()
        {
            List<User> users = new List<User> {
                new User(){ ID=1,Name="aa", Age=1,Email="[email protected]"},
                new User(){ ID=2,Name="bb", Age=1,Email="[email protected]" },
                new User(){ ID=3,Name="cc", Age=1,Email="[email protected]"},
                new User(){ ID=4,Name="dd", Age=1,Email="[email protected]"},
                new User(){ ID=5,Name="ee", Age=1,Email="[email protected]"},
                new User(){ ID=6,Name="ff", Age=1,Email="[email protected]"},
                new User(){ ID=7,Name="gg", Age=1,Email="[email protected]"},
                new User(){ ID=8,Name="hh", Age=1,Email="[email protected]"},
                new User(){ ID=9,Name="ii", Age=1,Email="[email protected]"},
                new User(){ ID=10,Name="jj", Age=1,Email="[email protected]"},
                new User(){ ID=11,Name="kk", Age=1,Email="[email protected]"},
                new User(){ ID=12,Name="ll", Age=1,Email="[email protected]"},
                new User(){ ID=13,Name="mm", Age=1,Email="[email protected]"},
                new User(){ ID=14,Name="nn", Age=1,Email="[email protected]"},
                new User(){ ID=15,Name="oo", Age=1,Email="[email protected]"},
                new User(){ ID=16,Name="pp", Age=1,Email="[email protected]"},
                new User(){ ID=17,Name="qq", Age=1,Email="[email protected]"}
            };
            return users;
        }
    }
}

效果图截屏

该Demo使用到的js和css,点击下载

AnjularJS-ngTable-js&css.zip

时间: 2024-10-12 17:55:05

AnjularJS ngTable插件使用备忘记录(一个ngTableDemo)的相关文章

jdbc中对mysql数据库操作的简单封装--(仅做备忘记录)

本次使用jdbc中的mysql-connector-java-5.1.47-bin.jar的连接包,下载这个jar包放在javaee项目的WEB-INF/lib目录下,再把它作为外包jar包进入到libraries中,这样就可以使用mysql的jdbc接口了. 自己封装的代码中引入了两个自己字义的Exception:SqlSecureException.java package com.myproweb.exception; public class SqlSecureException ext

SSH框架整合中的备忘记录

整合ssh需要的jar包: struts2-core.jar struts2-convention-plugin-2.*.*.*.jar ------是struts2的注解开发jar包 struts2-spring-plugin-2.*.*.*.jar ------struts2用于整合spring的jar包 (spring中也有一个 spring-struts2的jar包,也是用来整合两个框架的jar包,引入其中一个可以) Hibernate框架开发的响应的jar: hibernate-cor

Oracle用法、函数备忘记录

Listagg select * from emp select LISTAGG(ename,'-') within group (order by deptno desc) from emp; 可以看到功能类似wm_concat,可以自定义连接符,区别: LISTAGG? : 11g2才提供的函数,不支持distinct,拼接长度不能大于4000,函数返回为varchar2类型,最大长度为4000. 和wm_concat相比,listagg可以执行排序.例如select deptno, lis

Centos6.5安装MySQL5.6备忘记录

Centos6.5安装MySQL5.6 1. 查看系统状态 [root@itzhouq32 tools]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@itzhouq32 tools]# uname -a Linux itzhouq32 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Lin

移动端开发备忘

这是一些移动端开发的备忘记录. <meta> 元素 <meta name=“viewport” content=“width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no”/> width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素) height:高度(数值 / device-height)(范围从223 到10,000) initial-s

性能测试计算公式【记录备忘】

原文链接:http://my.oschina.net/hyp3/blog/129971 记录备忘!!! 术语及缩写词 l        测试时间:一轮测试从开始到结束所使用的时间 l        并发线程数:测试时同时访问被测系统的线程数.注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数. l        每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求. l        

项目中oracle存储过程记录——常用语法备忘

项目中oracle存储过程记录--常用语法备忘 项目中需要写一个oracle存储过程,需求是收集一个复杂查询的内容(涉及到多张表),然后把符合条件的记录插入到目标表中.其中原表之一的日期字段是timestamp类型,目标表的字段是varchar2类型: 其中一些内容很常用,所以做下记录,供查找. 1.存储过程的格式 oracle存储过程和函数都可以实现,一般没有返回值,则采用存储过程,函数比sqlserver的功能强大.oracle变量定义最好加上前缀如V_,查询条件中变量名称和字段名称不能重复

【小记备忘】IE11的插件兼容问题

[小记备忘]IE11的问题 欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 今天碰到一个插件不能使用,仅在IE11下无法使用,IE678910都正常: 插件是c++开发的COM组件. 于是调试了一下网页,发现问题所在: if(navigator.userAgent.toLowerCase().indexOf("firefox") != -1 ) //火狐 { } else if(navigator.userAgent.t

Cheat—— 给Linux初学者和管理员一个终极命令行&quot;备忘单&quot;

编译自:http://www.tecmint.com/cheat-command-line-cheat-sheet-for-linux-users/作者: Avishek Kumar原创:LCTT https://linux.cn/article-3760-1.html译者: su-kaiyao原文稍有改动 当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像‘help’,‘whereis’和