Solved

AngularJS - Can't display my query object in angularjs using ng-repeat querying with odata

Posted on 2014-12-01
2
266 Views
Last Modified: 2014-12-03
I'm trying to figure out how to display a list of companies from an Entity Framework table. I'm using odata, and it currently works to getById and pass it an id manually. However, when I use my `getAll()` method to to grab all of the companies I can't get it to work. In my html I use something like this in a select dropdown menu: ng-repeat="company in companies"{{company.CompanyName}}. When I do this all I get are like two blank selections with no names no nothing. Can someone give me some advice?

This is my controller:

    'use strict';
   
    define(['app', 'js/services/companies'], function (app) {
   
        var register = app.register || app;
   
        register.controller('companyUpdateIndexCtrl', ['$scope', 'companies', function ($scope, companies ) {
               
                companies.getById(2932).success(function (data) {
                $scope.company = data;
            }).error(function (data) {
                //handle error
            });
                $scope.companies = companies;
                companies.getAll().success(function (data) {
                    $scope.all = data;
                }).error(function (data) {
   
                });
        }]);
   
    });

This is my html:

    <div data-ng-controller="companiesIndexCtrl">
    <div><label style="padding-right:25px">Select a Company</label>
        <select ng-model="companies.CompanyName">
            <option ng-repeat="x in companies">{{x.CompanyName}}</option>
        </select>


My api function:

        api.prototype.getAll = function (data) {
            return dataService.get(this.baseUrl + odata.queryString(data));
        };


Using api function:

    'use strict';
   
    define(['app', 'js/services/api'], function (app) {
   
        var register = app.register || app;
   
        register.factory('companies',  ['api', function (api) {
   
            var Companies = new api('Companies');
            return Companies;
        }])
   
    });
0
Comment
Question by:pixis
2 Comments
 
LVL 12

Accepted Solution

by:
jitendra patil earned 500 total points
ID: 40477877
can you try the below code
<select name="selectedcompany" ng-model="companies.CompanyName">
         <option ng:repeat="x in companies" value="{{x.CompanyName}}">{{x.CompanyName}}</option>
     </select>  

instead of this
   <select ng-model="companies.CompanyName">
            <option ng-repeat="x in companies">{{x.CompanyName}}</option>
        </select>

for your reference you can also try the below link
HTML SELECT element with angular data-binding.

hope this helps.
0
 
LVL 17

Expert Comment

by:Shinesh Premrajan
ID: 40478184
<select name="selectedcompany" ng-model="companies.CompanyName">

Instead of this try using

<select name="selectedcompany" ng-model="companies">
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Composite queries are used to retrieve the results from joining multiple queries after applying any filters. UNION, INTERSECT, MINUS, and UNION ALL are some of the operators used to get certain desired results.​
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question