Como usar Paginación en DataGrid Silverlight
Saludos amig@s en este articulo veremos como Paginar un dataGrid Silverlight usando un Control de tipo DataPager , que la verdad es demasiado sencillo.
Bueno primero veremos que necesitamos en la Interfaz osea en nuestro Codigo XAML.
<Button Content="Cargar
Usuarios" Height="23" HorizontalAlignment="Left" Name="btnCargarUsuarios" Width="108" Click="btnCargarUsuarios_Click"
/>
<sdk:DataGrid AutoGenerateColumns="True" Height="100" HorizontalAlignment="Left" Name="dgUsuarios" VerticalAlignment="Top" Width="296"
/>
<sdk:DataPager Height="26" HorizontalAlignment="Left" Name="pagerUsuarios" PageSize="3" VerticalAlignment="Top" Width="296/>
|
Vemos que tenemos el DataGrid y un DataPager, lo mas resaltante de esto es que en la Propiedad PageSize del DataPager, podemos configurar Cuantos items podemos hacer aparecer por pagina.
Ahora veremos que en el Codigo vamos a cargar datos de un archivo XML.
private
void btnCargarUsuarios_Click(object sender, RoutedEventArgs
e)
{
WebClient
client1 = new WebClient();
client1.DownloadStringCompleted
+= new DownloadStringCompletedEventHandler(client1_DownloadStringCompleted);
Uri filePath = new
Uri("Usuarios.xml",
UriKind.Relative);
client1.DownloadStringAsync(filePath);
void
client1_DownloadStringCompleted(object
sender, DownloadStringCompletedEventArgs
e)
{
if
(e.Error == null)
{
XDocument
doc = XDocument.Parse(e.Result);
IEnumerable<Person> list = from
p in doc.Descendants("User")
select new Person
{
FirstName = (string)p.Attribute("FirstName"),
LastName = (string)p.Attribute("LastName"),
Email =
(string)p.Attribute("Email")
};
pagerUsuarios.Source = Data;
}
public
class Person
{
public
string FirstName { get;
set; }
public
string LastName { get;
set; }
public
string Email { get;
set; }
}
|
Donde vemos que el Objeto PagedCollectionView, recibe en su constructor los datos, y se lo Asigna tanto para el DataGrid como para el DataPager.
Asi que el truco esta en que tanto DataGrid y DataPager tengan la misma Data.
En este caso estamos usando un archivo XML para cargar los datos,"Usuarios.xml", no olvidar que este archivo debe estar dentro de la carpta ClientBin, En el proyecto Silverlight
dgUsuarios.ItemsSource = Data;
pagerUsuarios.Source = Data;
En este caso estamos usando un archivo XML para cargar los datos,"Usuarios.xml", no olvidar que este archivo debe estar dentro de la carpta ClientBin, En el proyecto Silverlight
<?xml version="1.0" encoding="utf-8" ?>
<Users>
<User FirstName="giancarlo" LastName="gamarra" Email="giancarlo@hotmail.com"/>
<User FirstName="genesis" LastName="luciana" Email="genesis@hotmail.com"/>
<User FirstName="ledy" LastName="monica" Email="ledy@hotmail.com"/>
<User FirstName="alexander" LastName="gamarra" Email="alexander@hotmail.om"/>
<User FirstName="william" LastName="gamarra" Email="william@hotmail.com"/>
<User FirstName="teresa" LastName="charaja" Email="teresa@hotmail.com"/>
<User FirstName="washington" LastName="villegas" Email="washington@hotmail.com"/>
</Users>
|
Bueno si tienen alguna duda con respecto a este codigo, por favor comentarlo, para resolver todas sus dudas.
Aqui les dejo un ejemplo real como les debería quedar sus aplicaciones.
Comments
Post a Comment