A veces obtenemos del backend una lista de objetos en formato json, pero necesitamos mapearlo a una lista de objetos pero con distintos nombres de propiedades.... en ese caso este sería el código:
El ejemplo aquí es utilizando una variable de knockout instanciada como observableArray()... el objeto mappedTemplates es en realidad una lista de objetos.
function objectOptionSelect(name, value) {
this.Texto = name
this.Valor = value
}
var mappedTemplates = $.map(data.d, function (item) { return new objectOptionSelect(item.CampoTextoField, item.CampoValorField) });
self.itemsOficina(mappedTemplates);
Sean felices! :) Y siéntanse libres de opinar ;)
A aquel que se ha "matado" encontrando la solución. Le doy las gracias mediante este blog. Y lo que aprendí de él, lo comparto con todos.
Busca lo que quieras
Mostrando entradas con la etiqueta knockout. Mostrar todas las entradas
Mostrando entradas con la etiqueta knockout. Mostrar todas las entradas
Filtrar array de knockout por parámetro
Aquí esta el código para filtrar un array de knockout.... espero les sirva:
return ko.utils.arrayFilter(this.array(), function(item)
{
return item.id == '666';
});
Sean felices! :) Y siéntanse libres de opinar ;)
return ko.utils.arrayFilter(this.array(), function(item)
{
return item.id == '666';
});
Sean felices! :) Y siéntanse libres de opinar ;)
Borrar item de array por filtro con knockout
Aquí esta el código para borrar todos los items de un observableArray:
self.miArray.remove(function (item) {
return item.idpropiedad() != '777'
});
Siendo idPropiedad(), una propiedad del array o arreglo. Si el arreglo que armaste no se asignaron con knockout, pues sería.... item.idpropiedad .... sin los parentesis.
Sean felices! :) Y siéntanse libres de opinar ;)
self.miArray.remove(function (item) {
return item.idpropiedad() != '777'
});
Siendo idPropiedad(), una propiedad del array o arreglo. Si el arreglo que armaste no se asignaron con knockout, pues sería.... item.idpropiedad .... sin los parentesis.
Sean felices! :) Y siéntanse libres de opinar ;)
Precargar select con knockout y web api .net
Lamento no ser muy específico, pero el tiempo que tengo ahora es poco:
Así sería:
//Clase representa un tipo identificacion
function TipoIdentificacion(data) {
this.descripcion = ko.observable(data.descripcion);
this.id = ko.observable(data.id);
}
function UsuarioViewModel(dataInicial) {
var self = this;
self.tiposIdentificacion = ko.observableArray();
// Carga inicial para llenar selects
$.getJSON("/api/tiposidentificacion", function (allData) {
var mappedTiposIdentificacion = $.map(allData, function (item) { return new TipoIdentificacion(item) });
self.tiposIdentificacion(mappedTiposIdentificacion);
});
}
Y en el html así:
<select id="ddltipoidentificacion" class="ddlregistro" data-bind="
options: tiposIdentificacion,
optionsValue : 'id',
optionsText: 'descripcion',
optionsCaption: 'Seleccione...',
value : tipoIdentificacion" >
</select>
Y en webapi:
public class TiposIdentificacionController : ApiController
{
// GET api/tiposidentificacion
public IEnumerable<TipoIdentificacion> Get()
{
var sqlmanager = new SqlDataManager();
return sqlmanager.GetTiposIdentificacion();
}
}
Sean felices! :) Y siéntanse libres de opinar ;)
Así sería:
//Clase representa un tipo identificacion
function TipoIdentificacion(data) {
this.descripcion = ko.observable(data.descripcion);
this.id = ko.observable(data.id);
}
function UsuarioViewModel(dataInicial) {
var self = this;
self.tiposIdentificacion = ko.observableArray();
// Carga inicial para llenar selects
$.getJSON("/api/tiposidentificacion", function (allData) {
var mappedTiposIdentificacion = $.map(allData, function (item) { return new TipoIdentificacion(item) });
self.tiposIdentificacion(mappedTiposIdentificacion);
});
}
Y en el html así:
<select id="ddltipoidentificacion" class="ddlregistro" data-bind="
options: tiposIdentificacion,
optionsValue : 'id',
optionsText: 'descripcion',
optionsCaption: 'Seleccione...',
value : tipoIdentificacion" >
</select>
Y en webapi:
public class TiposIdentificacionController : ApiController
{
// GET api/tiposidentificacion
public IEnumerable<TipoIdentificacion> Get()
{
var sqlmanager = new SqlDataManager();
return sqlmanager.GetTiposIdentificacion();
}
}
Sean felices! :) Y siéntanse libres de opinar ;)
Suscribirse a:
Entradas (Atom)
Palabras Clave
.NET
(93)
AJAX
(2)
ajaxcontroltoolkit
(2)
Algoritmos
(1)
android
(1)
Angular
(1)
Arrays
(1)
AS2 o ActionScript 2.0
(1)
AS3 o ActionScript 3.0
(64)
ASP
(7)
ASP.NET
(3)
Azure
(1)
Azure DevOps
(2)
Backup
(2)
Batch
(4)
blogger
(1)
Browser Support
(2)
C#
(53)
Charts
(1)
Chorme extensions
(1)
Chrome
(3)
cmd
(18)
código postal
(1)
Colombia tips
(1)
command
(1)
Conexion remota
(1)
Controles Web .NET
(24)
Cookies
(1)
cordova
(1)
CSS
(14)
CSV
(5)
Cufon
(1)
DateTime
(2)
deployment
(2)
Desarrollo movil
(2)
Desarrollo web
(5)
Diseño
(4)
DNN o DotNetNuke
(5)
docker
(1)
Encuestas
(1)
Entity Framework
(1)
Error
(1)
Eval
(2)
Excel
(4)
Expresiones regulares
(2)
Facebook
(14)
fechas
(1)
Fiddler
(1)
FileUpload
(1)
Filezilla
(1)
Firefox
(2)
Flash
(9)
Fonts
(3)
FQL
(1)
frameworks
(2)
Futuro de la web
(1)
git
(1)
Google Code
(13)
Google Maps
(4)
hackintosh
(3)
hazard 10.6.2
(3)
herramientas para developers
(1)
highchart
(1)
Hilos
(2)
Hosting Windows
(18)
HTML
(38)
HTML5
(6)
IDE
(1)
IE
(2)
IE9
(1)
IIS
(13)
imagenes
(3)
jasmine
(2)
java
(1)
jqgrid
(2)
Jquery y Javascript
(90)
jquery-ui
(5)
jQueryMobile
(1)
JSON
(1)
knockout
(4)
library
(1)
Link Interesantes
(2)
List
(1)
Macro
(2)
Matemáticas
(2)
Membership
(6)
Memoria
(1)
Mis Experiencias
(3)
momentjs
(1)
ms-dos
(1)
MSN
(1)
MVC
(1)
MVC4
(3)
MySQL
(2)
node.js
(4)
Notepad++
(3)
Notificaciones
(1)
ObjectDataSource
(2)
Online
(2)
Opinión
(4)
OSX
(3)
Parallels Plesk Panel
(1)
petapoco
(1)
PhantomJS
(1)
PHP
(4)
Porqué este blog
(1)
Powershell
(1)
Razor
(3)
Redes
(2)
REGEX
(4)
REST
(1)
SDK Android
(1)
Seguridad
(1)
SelectParameters
(1)
Selenium
(2)
sencha
(3)
sencha cmd
(2)
SEO
(1)
SMTP
(2)
Software útil
(8)
Solución
(1)
Soporte
(1)
SQL
(15)
SQL Server
(58)
SQLite
(2)
Store Procedures
(20)
String
(5)
Testing Code
(2)
texto
(2)
tips de datos
(1)
tips de desarrollo
(1)
TutoFaceAS3
(4)
TutoProAS3
(4)
Tutoriales
(7)
Tweenlite effects
(3)
Últimas noticias
(1)
unit testing
(1)
usb
(1)
VBA
(1)
Video
(1)
virus
(1)
Web API
(2)
Web Browsers
(1)
Web Forms
(7)
web.config
(1)
Webmaster
(8)
Webmatrix
(1)
webrole
(1)
webservices
(1)
webstorm
(1)
Win Forms
(5)
Windows
(21)
Windows 7
(1)
Windows 8
(1)
XML
(2)
Youtube API
(2)