Esta página esta en desarrollo, Sean bienvenidos.

Silverlight

llenar un combobox con silverlight con conexion a base de datos y WCF

paso 1 crear su proyecto en silverlight

paso 2 arrastrar el control combobox al formulario 

paso 3 agregar propiedades 

en este ejemplo uso lo tipico cargar paises

————————-

SelectedValuePath=”paisM”  =  en asp.net value member

Text=”{Binding Path= nombrePaisM}”=en asp.net display member

————————

<ComboBox Name=”comboBoxPais” Height=”23″ HorizontalAlignment=”Left”
VerticalAlignment=”Top” Width=”250″
Margin=”127,280,0,0″
SelectedValuePath=”paisM“>

<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text=”{Binding Path=nombrePaisM}”/>
</DataTemplate>
</ComboBox.ItemTemplate>

</ComboBox>

paso 4 conexion con el archivo WCF

En este ejemplo me regresa una lista con la cual se cargara el combobox

public List<Pais> obtenerPais()
{

SqlConnection conex = new SqlConnection(ConfigurationManager.ConnectionStrings[“ESTE  VALOR SE TOMA DEL WEBCONFIG QUE ASP.NET LO ARROJA POR DEFAULT EN CASO DE NO CONTAR CON ESTE VALOR A SE DESCONOCE  DEBES AGREGAR ESTAS LINEAS QUE ABAJO SE DESCRIBIRAN”].ConnectionString);

/////

LINEAS QUE SE AGREGAN al webconfig

<connectionStrings>
<!–<add name=”ESTE NOMBRE SE COLOCA EN LO ANTES MENCIONADO”

connectionString=”NOMBRE DE TU SERVIDOR SQL;

Initial Catalog=NOMBRE DE TU BASE DE DATOS;

User id=’USUARIO’;

Password=’CONTRASEÑA’;”

providerName=”System.Data.SqlClient”

/>–>

</connectionStrings>

/////
string query=@”CONSULTA A SQL”;
SqlCommand cmd=new SqlCommand(query,conex);
conex.Open();

SqlDataReader dtReader = cmd.ExecuteReader();

//nombre de mi lista Pais
List<Pais> listPais = new List<Pais>();
while (dtReader.Read())
{

//carga Valores a la lista
listPais.Add(new Pais(
(string)dtReader.GetValue(dtReader.GetOrdinal(“CAMPO 1”)),
(string)dtReader.GetValue(dtReader.GetOrdinal(“CAMPO 2”))
));
}
conex.Close();

//me regresa mi lista
return listPais;

}

////////////////////////////////

ejemplo de la lista que se usa

[DataContract]
public class Pais {

private string pais;
private string nombrePais;

public Pais(string sPais, string sNombrePais)
{

pais = sPais.ToString().Trim();
nombrePais = sNombrePais.ToString().Trim();
}
[DataMember]
public string paisM { get {return pais;} set{pais=value;} }

[DataMember]
public string nombrePaisM{get{return nombrePais;} set {nombrePais=value;}}

}

////////////

mandar llamar a mi metodo 

[OperationContract]
List<Pais> obtenerPais();

/////////////////////////////

paso 5 agregar referencia de servicio al proyecto de silverlight

en mi caso yo asi le puse

RefWSDatosAdmUsu.WSDatosClient wsDatos = new admProv.RefWSDatosAdmUsu.WSDatosClient();

inicio componentes

public nombreDeTuClaseDeProyecto()
{

this.Loaded += new RoutedEventHandler(Page_Loaded);

}

en tu evento o algo asi Page_Loaded colocas lo que esta en la parte de abajo

void Page_Loaded(object sender, RoutedEventArgs e)
{

//agregas la referencia

wsDatos.obtenerPaisCompleted += new EventHandler<admProv.RefWSDatosAdmUsu.obtenerPaisCompletedEventArgs>(wsDatos_ObtenerPaisesCompletedt);

//manda llamar los datos del archivo WCF
wsDatos.obtenerPaisAsync();

}

y por ultimo

void wsDatos_ObtenerPaisesCompletedt(object sender, admProv.RefWSDatosAdmUsu.obtenerPaisCompletedEventArgs e)
{

//en esta parte se cargan los elemtos al combo

comboBoxPais.ItemsSource = e.result;
}

sin mas por el momento quedo a sus ordenes para cualquier duda o aclaración atte.

Fecha: 12 de Marzo del 2013

Nota: esta pagina me quita o cambia caracteres ojo con eso

——————————

cargar un TreeView archivo de servicio y sql server

  • .svc
  • sql server
  • silverlight

La verdad  me tarde como 20 días y ahora lo publico (codigo de control)

<control:TreeView x:Name=”myTreeView” Width=”300″>
<control:TreeView.ItemTemplate>
<control:HierarchicalDataTemplate ItemsSource=”{Binding Children}”>
<StackPanel Orientation=”Horizontal”>
<TextBlock Text=”{Binding Name}” Margin=”5,0″ />
</StackPanel>
</control:HierarchicalDataTemplate>
</control:TreeView.ItemTemplate>
</control:TreeView>

.svc y sql

en el archivo lo .svc lo único que tienen que hacer es declarar su consulta (X), y que el servicio retorne una lista genérica.

Archivo silverlight

esto es opcional pero yo asi lo realizo declaro el nombre de mi lista,

esto lo realizo al traer el reultado  de la consulta hacia el archivo .svc

la lista previamente echa. en este ejemplo tengo dos listas ya echas listEmpCorp en lo personal me permite realizar cualquier cosa con los valores 

categories me permite llenar mi control TreeView

List<Category> categories = new List<Category>();

List<empreCorpPermisos> listEmpCorp = new List<empreCorpPermisos>();
foreach (var s in e.Result.ToArray())
{
listEmpCorp.Add(new empreCorpPermisos(
Convert.ToString(s.razSocM),
Convert.ToString(s.razSocAlmM),
Convert.ToString(s.rfcEmpM)
));
}

categories = this.GetCategories(listEmpCorp);
myTreeView.ItemsSource = categories;

metodo (recive la lista en general de la consulta de todo) y me retorna una lista  con los valores de l control.

public List<Category> GetCategories(List<empreCorpPermisos> element)
{

return (

//esta consulta hace un ejemplo del distinct como en sql
from category in element.GroupBy(s => s.razSocM).Select(s => s.First())
select new Category(category.razSocM)
{
Name = category.razSocM,
Children = GetHijos(category.razSocM, element)

category.razSocAlmM.ToList()
}
).ToList();
}

//segundo metodo

//envio parametros string elementos que pertenen a un conjunto ejemplo (Musica)

//lista misma en general ()

public List<Category> GetHijos(string item, List<empreCorpPermisos> element)
{

//en esta consulta es similar a un select con un where (unicamente me trae los //valores que cumplan cierta condicion ejemplo (Musica), cumbia , banda , //pop , rock)
var distinctCustomersDos = from b in element
where b.razSocM == item
select b;

List<Category> listEmpCorp = new List<Category>();
foreach (var customerFinal in distinctCustomersDos)
{
listEmpCorp.Add(new Category(
Name = customerFinal.razSocAlmM
));
}

//me retorna la lista ya clasificada

return listEmpCorp.ToList();
}

///dejo la clase

public class Category
{
private string razSoc;
public Category(string sRazSoc)
{
razSoc = sRazSoc;
}
public string Name { get { return razSoc; } set { razSoc = value; } }
public List<Category> Children { get; set; }
}

sin mas por el momento quedo a sus ordenes para cualquier duda o aclaración atte.

Fecha: 08 de abril del 2013

Nota: esta pagina me quita o cambia caracteres ojo con eso

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Nube de etiquetas

A %d blogueros les gusta esto: