我知道如何用我想要的数据填充和网格,我知道如何用我想要的数据填充下拉列表。现在我想让网格对下拉列表做出反应。我的意思是这是一个典型的过滤器场景。在这种情况下,我有不同的“国会”(下拉列表),根据选择的下拉项目,它应该得到适当的“国会成员”集合。所以两个主要问题是......
如何让网格检查过滤器值的下拉值,然后调用 REST 服务?在调用填充下拉列表之后,我需要调用来填充网格数据。
我如何为此使用 Webapi?如何为“给我第 112 届国会议员”创建一个宁静的界面?它似乎不适合 REST 标准接口。我最好的猜测是我不应该使用与实体匹配的内置 REST 端点,而是创建一个自定义端点??/api/CustomCongressFiles/112 之类的东西?
appRoot.controller('MainController', function ($scope, $location, $resource) { var ccResource = $resource('/api/CongressCongresses/:id', { id: '@id' }, { update: { method: 'PUT' } }); var userResource = $resource('/api/CongressMember', {}, { update: { method: 'PUT' } }); $scope.usersList = []; $scope.ccList = []; // userResource.get({ CongressMember: 100 }, function () { userResource.query(函数(数据){ $scope.usersList.length = 0; angular.forEach(数据,函数(用户数据){ $scope.usersList.push(userData); }) }); ccResource.query(函数(数据){ $scope.ccList.length = 0; angular.forEach(数据,函数(ccData){ $scope.ccList.push(ccData); }) $scope.lastItem = $scope.ccList[$scope.ccList.length - 1]; }); $scope.userGrid = { 数据:'用户列表', 多选:假, selectedItems:$scope.selectedUsers, enableColumnResize: false, 列定义:[ {字段:'名字',显示名称:'名字',宽度:'25%'}, { 字段:'姓氏',显示名称:'姓氏',宽度:'25%' } ] }; });
<div class="row">
<div>
<select ng-model="lastItem" ng-options="cc.congressLongName for cc in ccList"></select>
</div>
<div class="grid-style" data-ng-grid="userGrid">
</div>
public class CongressMemberController : ApiController
{
private CongressDb_DevEntities db = new CongressDb_DevEntities();
// GET api/CongressMember
public IQueryable<tMember> GettMembers()
{
return db.tMembers.Where(x => x.MembersID < 100);
}
// GET api/CongressMember/5
[ResponseType(typeof(tMember))]
public IHttpActionResult GettMember(int id)
{
tMember tmember = db.tMembers.Find(id);
if (tmember == null)
{
return NotFound();
}
return Ok(tmember);
}