`
v7sky
  • 浏览: 76787 次
文章分类
社区版块
存档分类
最新评论

【AngularJS】ui-grid-selection 示例

 
阅读更多
参考:http://my.oschina.net/gmd/blog/670895

<html ng-app="myApp">

<head>
    <meta charset="utf-8">
    <title>ui-Grid Example01</title>
    <script type="text/javascript" src="bower_components/angular/angular.js"></script>

    <script type="text/javascript" src="bower_components/angular-ui-grid/ui-grid.js"></script>
    <link rel="stylesheet" type="text/css" href="bower_components/angular-ui-grid/ui-grid.css" />

    <style type="text/css">
        .grid {
            width: 800px;
            height: 50px; /* 测试发现,height属性只影响到Header行,比较奇怪 */
        }
    </style>

</head>

<body ng-controller="MyCtrl">
    <div>
        <ol>
            <li>名称:{{testRow.name}}</li>
            <li>年龄:{{testRow.age}}</li>
            <li>生日:{{testRow.birthday}}</li>
        </ol>
    </div>

    <div ui-grid="gridOptions" class="grid" ui-grid-selection ui-grid-resize-columns ui-grid-auto-resize>
    </div>

</body>
<script>
        var app = angular.module('myApp', ['ui.grid','ui.grid.selection']);
        
        app.controller('MyCtrl', function($scope,i18nService) {
            // // 国际化;
            i18nService.setCurrentLang("zh-cn");
            
            $scope.gridOptions = {
                // data: 'myData',
                // columnDefs: [{ field: 'name', displayName: '名字', 
                //                  width: '10%', 
                //                  enableColumnMenu: false,// 是否显示列头部菜单按钮
                //                  enableHiding: false,
                //                  suppressRemoveSort: true,
                //                  enableCellEdit: false // 是否可编辑
                //              },
                //              { field: "age"},
                //              { field: "birthday"},
                //              { field: "salary"}
                //             ],
                
                //----------- 选中 ----------------------
                enableRowSelection : true, // 行选择是否可用,默认为true;  
                enableFullRowSelection : true, //不起作用...
                enableSelectAll: false,
                rowHeight: 30,
                modifierKeysToMultiSelect: false ,//默认false,为true时只能 按ctrl或shift键进行多选, multiSelect 必须为true;  
                multiSelect: false ,// 是否可以选择多个,默认为true;  
                noUnselect: false,//默认false,选中后是否可以取消选中  

                //---------------api---------------------
                onRegisterApi: function(gridApi) {
                    $scope.gridApi = gridApi;

                    //行选中事件
                    $scope.gridApi.selection.on.rowSelectionChanged($scope,function(row,event){
                        if(row){
                            $scope.testRow = row.entity;
                        }
                     });
                }
            };
            
            var getPage = function(curPage, pageSize) {
                var firstRow = (curPage - 1) * pageSize;
                $scope.gridOptions.data = mydefalutData.slice(firstRow, firstRow + pageSize);
            };
            
            var mydefalutData = [
                { name: "Moroni", age: 50, birthday: "Oct 28, 1970", salary: "60,000" },
                { name: "Tiancum", age: 43, birthday: "Feb 12, 1985", salary: "70,000" },
                { name: "Jacob", age: 27, birthday: "Aug 23, 1983", salary: "50,000" },
                { name: "Nephi", age: 29, birthday: "May 31, 2010", salary: "40,000" },
                { name: "Enos", age: 34, birthday: "Aug 3, 2008", salary: "30,000" },
                { name: "Moroni", age: 50, birthday: "Oct 28, 1970", salary: "60,000" },
                { name: "Tiancum", age: 43, birthday: "Feb 12, 1985", salary: "70,000" },
                { name: "Nephi", age: 29, birthday: "May 31, 2010", salary: "50,000" },
                { name: "Enos", age: 34, birthday: "Aug 3, 2008", salary: "30,000" }];
            
            getPage(1, 5);
        });   
    </script>

</html>


ui-grid的高度为50px,其content没有影响到div的高,也比较奇怪,浏览器为chrome,故变通一下,将显示内容的div放在ui-grid的上方,示例图如下


  • 大小: 42.3 KB
分享到:
评论

相关推荐

    使用FigmaPluginAPI的示例插件

    例如,使用Flexbox或Grid布局创建响应式界面,通过选择器选择并修改特定元素的样式,或者使用CSS变量实现主题切换。 总之,Figma Plugin API结合JavaScript和CSS,为设计工作流程提供了强大的扩展性。通过学习和...

    ExtjsGrid Demo

    4. **视图(View)**:负责渲染Grid的UI,包括行、单元格等。可以自定义模板以展示复杂的数据格式。 5. **分页(Paging)**:通过配置Store的paging属性和使用PagingToolbar,可以实现数据的分页展示,提高加载速度...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    if(m_ui-&gt;usrLineEdit-&gt;text()==tr("qt")&&m_ui-&gt;pwdLineEdit-&gt;text()==tr ("123456")) //判断用户名和密码是否正确 accept(); else{ QMessageBox::warning(this,tr("Warning"),tr("user name or password error!"),...

    Jquery拖拽

    - `grid`: 使拖动以指定的像素网格为单位进行,如 `[10, 10]`。 - `revert`: 控制拖动取消后的元素回归行为,可以是 `"valid"`、`"invalid"` 或 `false`。 - `snap`: 启用元素吸附功能,可以是另一个可拖动元素、...

    wpf入门资料[整理].pdf

    * 布局控件:Canvas, DockPanel, Grid, GridSplitter, Panel, StackPanel, VirtualizingStackPanel, WrapPanel * 导航控件:Frame, Hyperlink * 文档控件:DocumentViewer, FlowDocumentPageViewer, ...

    python gtk3 tutorial

    - **网格**(Grid):使用网格容器进行复杂布局。 - **列表框**(ListBox):一种可滚动的容器,适合展示列表数据。 - **堆栈与堆栈切换器**(Stack and Stack Switcher):实现动态切换不同页面的功能。 - **头部栏**...

    Ext3.4 demo

    在"ExtjsTest"这个文件中,可能包含了实现上述功能的相关代码文件,如JavaScript文件(可能包含了Tree Grid的配置和数据处理)、CSS文件(定义样式)以及HTML文件(用于展示和运行示例)。通过阅读和分析这些文件,...

    Android Design PDF版

    文档通过一系列章节详细讲解了Android设计的核心理念和技术细节,并提供了大量的示例和最佳实践建议。 #### 二、开始入门 (Get Started) 1. **创意愿景 (Creative Vision)** - 冰淇淋三明治(Ice Cream Sandwich,...

    extjs+demo+api

    例如,`Ext.Component`是所有UI组件的基础,包括按钮、面板、表格等。每个组件都有自己的属性和方法,如设置大小、位置、样式等。`Ext.container`模块则包含各种容器,如`Ext.panel.Panel`用于组织和管理其他组件。 ...

    WPF入门指南教程

    本教程为初学者提供了一个关于WPF的基本框架,通过一系列简单的示例练习,可以帮助学习者快速掌握WPF的基础知识。WPF的强大之处在于它不仅仅是一种用户界面框架,更是一种全面的技术解决方案,涵盖了从UI设计到后端...

    Android学习路由

    这一模块深入探讨了各种用于数据选择的控件,如列表(List)、下拉菜单(Spinner)、网格(Grid)等,以及如何使用适配器(Adapter)来填充这些控件的数据。 #### 四、高级列表:Fancy Lists 在此基础上进一步探索...

    gridPanel添加按钮

    6. **Toolbars** - 包括顶部和底部工具栏,可以放置按钮和其他UI元素。 在`GridPanel`中添加按钮,我们需要创建一个工具栏并将其附加到面板上。以下是一般的步骤: 1. **创建工具栏**: 首先,我们需要创建一个`...

    RichTextBox Sample

    在本文中,我们将深入探讨`RichTextBox`控件在...在`RichTextBox Samples`这个压缩包中,可能包含了多个示例项目,展示了`RichTextBox`的各种用法和特性,通过学习这些示例,开发者可以更好地理解并应用`RichTextBox`。

    WPF中的路由模板选择

    文件“Routed-Template-Selection-in-WPF.pdf”和“RoutedTemplateSelection.zip”可能包含了更深入的教程和示例代码,帮助你理解如何在实际项目中实现路由模板选择。通过学习这些资源,你将能够更好地掌握如何在WPF...

    leanabapcode:记录看过,学习过的SAP代码.....

    10. **SAP UI**:了解ABAP的用户界面元素,如屏幕设计、屏幕字段(Screen Fields)、输入帮助(Input Help)等,以及更现代的UI技术如Fiori和WebDynpro。 通过"leanabapcode-main"这个项目,你可以期望学习到上述...

    Ext Js权威指南(.zip.001

    2.9 为本书示例准备一个模板 / 60 2.10 本章小结 / 61 第3章 调试工具及技巧 / 62 3.1 使用firebug进行调试 / 62 3.2 在ie中调试 / 76 3.2.1 使用debugbar和companion.js调试 / 76 3.2.2 使用ietester测试 / ...

    ExtJS 轻松搞定

    强调了ExtJS框架的特性,即它是一种基于JavaScript的UI库,用于构建动态的Web应用程序。 #### 二、Ext.onReady事件 介绍了ExtJS中onReady事件的用途,即在DOM完全加载后执行代码,确保脚本正确运行。 #### 三、...

Global site tag (gtag.js) - Google Analytics