我在模态窗口中有一个网格(必须在那里,因为我的客户真的想要那样),当模态第一次打开时,可以选择网格中的行,显示所选项目在父窗口的div中,一切似乎都很好,但是当模态窗口关闭并再次打开时,ng网格中的行被冻结,我无法取消选择旧行或选择新行。他的想法是,他可以通过选择或取消选择ng-grid中的行来添加或删除细节,但它只会添加,而且只是第一次打开模态窗口时。
$scope.catalogOptions = {
data: 'catalog',
selectedItems: $scope.selectedDetails,
columnDefs: [
{ field: "Num", displayName: 'NUM', width:"10%"},
{ field: "Type", displayName: 'TYPE', width:"90%"}],
multiSelect: true,
afterSelectionChange: function(item, event){
if($scope.selectedDetails.length!=0){
$scope.sdetails=$scope.selectedDetails;
}
}
};
$scope.sdetails=null;
这是我控制器中的ng-grid定义,我也必须说从另一个模态窗口调用带有ng-grid的模态窗口(我的客户端要求),基本上结构是“主页面>添加记录模态>添加详细模式“,即时通讯使用此插件http://jschr.github.io/bootstrap-modal/bs3.html并使用数据切换和href从按钮调用模态
是我试图做甚至可行的? =(
答案 0 :(得分:0)
您是否检查过调用afterSelectionChange方法的次数?如果您是第二次选择一行,则会调用此回调两次,一次用于先前选定的行,一次用于新选择的行。
afterSelectionChange: function(item, event){
if(item.selected) { //<-- only execute the below for the selected row
if($scope.selectedDetails.length!=0){
$scope.sdetails=$scope.selectedDetails;
}
}
}