Hallo Ich bin neu in AngularJS und ich versuche, Werte für meine Spalte Dropdown in einem UI-Gitter zu füllen. Derzeit wird nur undefined für die gesamte Liste angezeigt.Füllen Dropdown-Werte aus der Datenbank mit JavaScript-Service
Hier ist meine Spaltendefinition:
{ field: "FullName", displayName: "Employee", editableCellTemplate: 'ui-grid/dropdownEditor', validators: { required: true }, minWidth: 150, width: "25%", cellFilter: 'mapEmployee', editDropdownIdLabel: 'Value', editDropdownValueLabel: 'Text', editDropdownOptionsArray: dataService.getEmployees() },
Hier meine Service-Funktion ist:
function getEmployees() {
return $.ajax({
url: '/EmployeeSkills/GetEmployees',
type: 'POST',
dataType: "json",
success: getEmployeesComplete,
error: getEmployeesFailed
});
function getEmployeesComplete(r) {
return r;
}
function getEmployeesFailed(e) {
$log.warn("Failed to get employees. " + e.data);
return $q.reject(e);
}
}
Hier Methode mein Controller ist:
[HttpPost]
public JsonResult GetEmployees()
{
try
{
List<string> tecPosition = new List<string>() { "SUB", "" };
IEnumerable<SelectListItem> Employees = db.Employees.Where(x => tecPosition.Contains(x.JobPosition) && x.Active).Select(c => new SelectListItem
{
Value = c.EmployeeNumber.ToString(),
Text = c.FullName
});
return Json(new SelectList(Employees), JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{
return null;
}
}
Hier ist mein ui Raster:
<div class="row">
<div class="grid" ui-grid="gridOptions"
ui-grid-pagination
ui-grid-selection
ui-grid-edit
ui-grid-row-edit
ui-grid-validate
ui-grid-exporter
ui-grid-cellNav
style="height: 500px;">
</div>
</div>
Jede Hilfe wäre sehr willkommen. Es macht es zu meiner Controller-Methode und scheint zu funktionieren, aber in der Anzeige listet es nur undefined immer wieder auf. Danke
Also was ist dein Winkelcode? Sie stellen eine Methode zum Abrufen von Daten aus dem Speicher bereit. Teile deine Sichtweise. – user3272018
Ich musste einen cellFilter von griddropdown hinzufügen: editDropdownOptionsArray: editDropdownIdLabel: editDropdownValueLabel: row.entity.employees.fullname. Schreiben Sie einen Filter, um den Wert der ID zuzuordnen, wenn die Zelle den Fokus verliert. – jason316