我正在设置从JavaScript调用我的ngGrid的选择gridOptions.selectItem().我将multiSelect设置为false,因此只选择了一行.我希望ngGrid能够自动滚动显示新选择的行,但我不知道如何做到这一点:有人可以帮忙吗?
在相关主题:我可以通过鼠标单击禁用行选择吗?如果是这样,怎么样?
编辑添加
如果可能的话,我还想禁用所选行的键盘导航.
什么有效:
AardVark71的答案奏效了.我发现ngGrid ngGrid在gridOptions变量上定义了一个属性,它保存了对网格对象本身的引用.必需的函数通过此对象的属性公开:
$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)
虽然通过点击选择行的效果可能有点令人不安.
我正在使用pm2来启动node.js进程,我希望在系统(Intel Atom处理器上的Ubuntu 14.04)启动时自动启动此进程.我按照pm2网站上的说明操作但没有成功.我的dump.pm2似乎是正确的,但pm2守护程序永远不会启动.无论有没有指定用户,我都尝试了ubuntu和linux选项pm2 startup,以及自动检测.文件(链接)S20pm2-init.sh已创建,/etc/rc[2-5].d但没有任何开始.我在系统日志中找不到任何明显的错误消息.
有任何想法吗?
编辑添加
我发现
service pm2-init.sh start从我的登录帐户运行时正确启动守护程序,这USER=与文件中定义的相同/etc/init.d/pm2-init.sh.我已经确保PM2_HOME此文件中的定义也指向正确的位置.但是,它仍然无法在系统启动时启动!
我正在调查在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已经承认了这一点.
我是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) angularjs ×2
html ×1
javascript ×1
ng-grid ×1
pm2 ×1
tfs ×1
tfs2012 ×1
ubuntu ×1
ubuntu-14.04 ×1