繁体   English   中英

每行的Ui-Grid单选按钮选择

[英]Ui-Grid Radio Buttons Selection Per Row

大家早上好! 我正在使用Angular ui-Grid。 最后一个字段应该包含3个单选按钮,用户可以按行选择。 全部的默认值应为Value = 0。 问题是我只能在整个网格中选择1个单选按钮,而不是每行选择一个。 我相信应该有一种方法可以实现这一目标,但是我一直无法弄清这一点,也找不到任何在线示例。 这是我的网格的图片,可能有助于更好地了解我要完成的工作:

在此处输入图片说明

最终,数据将来自对我们的Web Api的调用,但是目前我正在用假数据填充网格。 这是我的控制器代码:

 $scope.gridOptions = {};

    $scope.gridOptions = {
        columnDefs: [
      {
          name: 'CompanyID', width: '200'
      },
      {
          name: 'CompanyName', width: '200',
      },
      { name: 'City', width: '200' },
      { name: 'State', width: '150' },
      { name: 'Subscription', width: '150' },
      {
          name: 'ReleaseAction', width: '350',
          cellTemplate: '<div ng-init="releaseAction=0"><input name="Release" ng-model="releaseAction" type="radio" value="0" style="width:20px">&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Release" type="radio" ng-model="releaseAction"  value="1" style="width:20px">&nbsp;Accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Release" type="radio" ng-model="releaseAction"  value="2" style="width:20px">&nbsp;Decline</div>'
      },

        ]
    };

    var gridData = [
        {
            CompanyID: 1,
            CompanyName: 'Tanner & Associates',
            City: 'Houston',
            State: 'TX',
            Subscription: 'Expired',
            //ReleaseAction: 0
        },
        {
            CompanyID: 2,
            CompanyName: 'Total Energy Services',
            City: 'Conroe',
            State: 'TX',
            Subscription: 'Active'
        },
        {
            CompanyID: 3,
            CompanyName: 'SPSD Inc',
            City: 'Arlington',
            State: 'TX',
            Subscription: 'Active'

        }
    ];

    $scope.gridOptions.data = gridData;

非常感谢您的协助!

通过从每个按钮中删除name =“ Release”,我可以获得所需的结果。 新的单元格模板如下所示:

  cellTemplate: '<div class="btn-group" ng-init="releaseAction=0"><input ng-model="releaseAction" type="radio" value="0" style="width:20px">&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input ng-model="releaseAction" type="radio" value="1" style="width:20px">&nbsp;Accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input ng-model="releaseAction" type="radio" value="2" style="width:20px">&nbsp;Decline</div>'

我希望这可以帮助其他人!

发生这种情况是因为所有单选按钮上的名称都相同。 因此,一种解决方法是将每行的索引附加到名称之后。

这是拔钉器链接http://plnkr.co/edit/VXpWT8MYwp9bNfF11vHM?p=preview

cellTemplate:

<div ng-init="releaseAction=0"><input name="Release{{grid.renderContainers.body.visibleRowCache.indexOf(row)}}" ng-model="releaseAction" type="radio" ng-value="0" style="width:20px">&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Release{{grid.renderContainers.body.visibleRowCache.indexOf(row)}}" type="radio" ng-model="releaseAction"  ng-value="1" style="width:20px">&nbsp;Accept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name="Release{{grid.renderContainers.body.visibleRowCache.indexOf(row)}}" type="radio" ng-model="releaseAction"  ng-value="2" style="width:20px">&nbsp;Decline</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM