小编Max*_*Max的帖子

如何滚动ngGrid以显示当前选择?

我正在设置从JavaScript调用我的ngGrid的选择gridOptions.selectItem().我将multiSelect设置为false,因此只选择了一行.我希望ngGrid能够自动滚动显示新选择的行,但我不知道如何做到这一点:有人可以帮忙吗?

在相关主题:我可以通过鼠标单击禁用行选择吗?如果是这样,怎么样?

编辑添加

如果可能的话,我还想禁用所选行的键盘导航.

什么有效:

AardVark71的答案奏效了.我发现ngGrid ngGridgridOptions变量上定义了一个属性,它保存了对网格对象本身的引用.必需的函数通过此对象的属性公开:

$scope.gridOptions.selectItem(itemNumber, true);
$scope.gridOptions.ngGrid.$viewport.scrollTop(Math.max(0, (itemNumber - 6))*$scope.gridOptions.ngGrid.config.rowHeight);
Run Code Online (Sandbox Code Playgroud)

我的网格固定为13行高,我的逻辑尝试使所选行显示在网格的中间.

如果可能的话,我仍然希望禁用鼠标和键盘更改.

什么也有效:

这可能更接近'Angular Way'并达到同样的目的:

// This $watch scrolls the ngGrid to show a newly-selected row as close to the middle row as possible
$scope.$watch('gridOptions.ngGrid.config.selectedItems', function (newValue, oldValue, scope) {
            if (newValue != oldValue && newValue.length > 0) {
                var rowIndex = scope.gridOptions.ngGrid.data.indexOf(newValue[0]);
                scope.gridOptions.ngGrid.$viewport.scrollTop(Math.max(0, (rowIndex - 6))*scope.gridOptions.ngGrid.config.rowHeight);
            }
        }, true);
Run Code Online (Sandbox Code Playgroud)

虽然通过点击选择行的效果可能有点令人不安.

angularjs ng-grid

10
推荐指数
1
解决办法
1万
查看次数

Ubuntu 14.04 - pm2启动后重启后无法启动

我正在使用pm2来启动node.js进程,我希望在系统(Intel Atom处理器上的Ubuntu 14.04)启动时自动启动此进程.我按照pm2网站上的说明操作但没有成功.我的dump.pm2似乎是正确的,但pm2守护程序永远不会启动.无论有没有指定用户,我都尝试了ubuntulinux选项pm2 startup,以及自动检测.文件(链接)S20pm2-init.sh已创建,/etc/rc[2-5].d但没有任何开始.我在系统日志中找不到任何明显的错误消息.

有任何想法吗?

编辑添加

我发现 service pm2-init.sh start从我的登录帐户运行时正确启动守护程序,这USER=与文件中定义的相同/etc/init.d/pm2-init.sh.我已经确保PM2_HOME此文件中的定义也指向正确的位置.但是,它仍然无法在系统启动时启动!

ubuntu pm2 ubuntu-14.04

6
推荐指数
3
解决办法
8561
查看次数

对VS 2012合并工具的命令行访问

我正在调查在Windows 7上使用TFS 2012作为Matlab的源代码控制提供程序.这需要安装VS 2012 shell/TFS客户端,以及可从Microsoft免费下载的64位MSSCCI提供程序.我把所有这些都设置好了,它运作正常.

但是,文件差异和合并存在问题.如果我查看与VS 2012 Source Control Explorer的差异,则VS 2012 Diff工具可以正常运行.如果我在Matlab中尝试相同的操作(使用Source Control菜单),我会收到错误"无法执行已配置的工具".在解决冲突时,"合并工具中的合并更改"按钮会发生同样的事情:在VS 2012中,它起作用,来自Matlab,它没有.

看来这是一个已知问题,至少与其他试图驱动TFS的工具有关.有一种解决方法,即配置VS 2012以使用外部差异实用程序.我试过这个并且它有效.此外,我发现如果将外部差分实用程序配置为VS 2012自己的"内部"差异工具,则可以从Matlab正确调用内部工具.

diff命令是:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
Run Code Online (Sandbox Code Playgroud)

并且所需的参数是:

 /Diff %1 %2 %6 %7
Run Code Online (Sandbox Code Playgroud)

(即原始文件,修改文件,原始文件标签,修改后的文件标签).有这个文件在这里.

合并工具更成问题.我在命令行上找不到任何特定的文档.我到目前为止最接近的是

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe
Run Code Online (Sandbox Code Playgroud)

我很确定这是正确的,但我正在使用的论点

%1 %2 %1 %2 %3 %4 /m
Run Code Online (Sandbox Code Playgroud)

不太正确 - 文件标签不同,差异显示格式不同(来自普通的内置工具).我在这里从一些与git相关的文档中反向设计了这个命令行,但我对git一无所知,也不会说意大利语.有人可以帮我找到正确的命令行选项吗?

编辑添加

有一个MSDN讨论,这似乎是与此相关的问题在这里.看起来它与其他工具一起发生并且不仅限于Matlab:我已经相应地重新标记了这个问题

编辑添加

Diff功能的首选命令行是:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\vsDiffMerge.exe
Run Code Online (Sandbox Code Playgroud)

和命令行参数是:

/t %1 %2 %6 %7
Run Code Online (Sandbox Code Playgroud)

Merge功能的等效功能不起作用:这是一个内部错误,Microsoft已经承认了这一点.

tfs visual-studio-2012 tfs2012

5
推荐指数
1
解决办法
7297
查看次数

为什么我的javascript文件没有加载?

我是JavaScript和AngularJS的新手.我正在构建一个与楼宇管理系统对话的应用程序:它有一个名为"JaceMod"的模块,其中包含一个与BMS联系并从中检索数据的服务.我正在使用Dygraphs为图形数据添加功能,并且我已经创建了一个指令来实例化图形并用数据填充它.

我想把我的Dygraphs指令放在一个名为'dygraphs'的模块中,在一个单独的文件'angular-dygraphs.js'中,所以我可以在以后重复使用它,并要求这个模块作为'JaceMod'的依赖.像这样:

'use strict';
console.log('Loading angular-dygraphs.js');
angular.module('dygraphs', []);

angular.module('dygraphs').directive('mrhDygraph', function ($parse) {
    return {
...etc ...
    };
});
Run Code Online (Sandbox Code Playgroud)

然后是主文件'app.js':

'use strict';
console.log('Loading app.js');

angular.module('JaceMod', ['dygraphs']);

angular.module('JaceMod').factory('JaceData', function ($http, $timeout) {
    var JaceDataService = {};
...etc ...
    return JaceDataService;
});

angular.module('JaceMod').controller('myCtrl', function myCtrl($scope, JaceData) {
    JaceData.initialise($scope);
    JaceData.subscribe($scope);
});
Run Code Online (Sandbox Code Playgroud)

html看起来像这样:

<html lang="en" ng-app="JaceMod">
<head>
    <meta charset="utf-8">
    <title>AngularJACE</title>
    <style type="text/css">
        body {font-family:  Trebuchet MS,Helvetica,Arial,sans-serif; }
    </style>
</head>
<body ng-controller="myCtrl">
    <div mrh-dygraph="graphData"
         mrh-dygraph-options="{xlabel: 'Local Time', legend: 'always',
                              showRangeSelector: true, labels: ['Time', 'Outside'],
                              ylabel: 'Temperature …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angularjs-module

1
推荐指数
1
解决办法
2万
查看次数