Mostrar Datos en un UITableView con MonoTouch
El mostrar datos en una tabla es muy necesario para una gran
mayoría de aplicaciones, por lo cual decidí crear este post, donde
veremos como mostrar los datos en un control UITableView.
El primer paso es crear un repositorio de datos, que lo pueden realizar leyendo los datos desde una base de datos o como lo haremos en el presente ejemplo desde una lista de nombres de ciudades. De tal manera crearemos una lista que contenga los nombres de las ciudades, esta lista estará declarada en el método ViewDidLoad del controlador de nuestra vista:
Luego abriremos en .xib en Xcode, para crear el control y su
respectivo outlet. Para nuestra aplicacion, el nombre de nuestro
outlet sera “tblTableCiudades”:
Después crearemos una clase llamada TableViewDataSource que
heredara de la clase UITableViewSource. Esta clase nos proveerá los
métodos y personalización necesaria para llenar nuestros datos en el
control. La clase es como sigue:
Ya con la clase creada, en nuestro controlador crearemos el enlace
con los datos, a través de la siguiente linea, que estará ubicada
debajo de la creación de nuestra lista de ciudades en el método
ViewDidLoad:
Y listo, con eso tenemos una tabla que muestra nuestras ciudades:
Good Luck
Codigo Fuente:Aqui (tabla.zip)
El primer paso es crear un repositorio de datos, que lo pueden realizar leyendo los datos desde una base de datos o como lo haremos en el presente ejemplo desde una lista de nombres de ciudades. De tal manera crearemos una lista que contenga los nombres de las ciudades, esta lista estará declarada en el método ViewDidLoad del controlador de nuestra vista:
List<string>
_listaCiudades = new
List<string>
();
_listaCiudades.Add
("Cochabamba");
_listaCiudades.Add
("Buenos
Aires");
_listaCiudades.Add
("Paris");
_listaCiudades.Add
("New
York");
_listaCiudades.Add
("Tokio");
_listaCiudades.Add
("Caracas");
_listaCiudades.Add
("CD.
Juarez");
_listaCiudades.Add
("Moscu");
_listaCiudades.Add
("Cupertino");
_listaCiudades.Add
("Medellin");
_listaCiudades.Add
("Madrid");
using
MonoTouch.UIKit;
using
System.Drawing;
using
System;
using
MonoTouch.Foundation;
using
System.Collections.Generic;
using
System.Text;
using
System.Linq;
namespace
Tabla
{
public
class
TableViewDataSource : UITableViewSource
{
static
NSString kCellIdentifier = new
NSString ("MyIdentifier");
private
List<string>
list;
public
TableViewDataSource (List<string>
_list)
{
this.list
= _list;
}
public
override
int
RowsInSection (UITableView tableview, int
section)
{
return
list.Count;
}
public
override
UITableViewCell GetCell (UITableView tableView, NSIndexPath
indexPath)
{
UITableViewCell
cell = tableView.DequeueReusableCell (kCellIdentifier);
if
(cell == null)
{
cell
= new
UITableViewCell (UITableViewCellStyle.Default, kCellIdentifier);
}
cell.TextLabel.Text
= list [indexPath.Row];
return
cell;
}
}
}
tblTableCiudades.Source
= new
TableViewDataSource (_listaCiudades);
Good Luck
Codigo Fuente:Aqui (tabla.zip)
Es mas fácil escribir esto:
ResponderEliminarvar _listaCiudades = new List () {
"Buenos Aires", "Lima", "Rio de Janeiro", "La Paz", "Santiago"
};