[ Foro de C# ]

duda c#

09-Jan-2015 20:11
Invitado (fernando)
5 Respuestas

llevo poco aprendiendo lenguaje de programacion C# web para ser mas especifico, estoy encargado de un proyecto y estoy una semana atrasado estoy atorado en una parte ya que como llevo poco programando no conozco muy bien el lenguaje
la duda es que tengo que mostrar en una lista datos ya consultados en una base de datos, y el principio los mostré en consola con este codigo, (estoy trabajando bajo un codigo ya realizado en el cual no conozco del todo y ahorita estoy trabajando en este lado, este codigo funciona perfectamente tal y como se muestra aqui:


  foreach (var cliente in Factory.Clientes.GetClientes(2182))
                {
                  Response.Write(" RPU :    " + cliente.RPU + " </br>  ");
                Response.Write( "  Numero de Cuenta:  " +  cliente.NumCuenta + "</br>"  );
                Response.Write("  Id del Cliente:   " + cliente.IdCliente + "</br>" );
                Response.Write("  Numero del Grupo: " + cliente.NumGrupo + "</br>"); 
             }


para entender un poco mas el codigo muestro el lugar donde hago dicha consulta


      public IDataReader GetClientes(int IdCliente)
        {
            const string sql =

                "SELECT *" +
                "FROM  Clientes, InformacionClientes "+
           
                    "where InformacionClientes.IdCliente = Clientes.IdCliente "+
                  " and Clientes.IdCliente = @IdCliente";


            var parme = new ParameterList
           {
               {"IdCliente", IdCliente} 
              
           };
            return GetDataReader(sql,parme );

        }


aqui otra parte del codigo:


public class Cliente : EntityBase
    {
        public int IdCliente { get; set; }
        public long RPU { get; set; }
        public string NumCuenta { get; set; }
        public byte NumGrupo { get; set; }
       
        public string Nombre { get; set; }

        public override void Load(IDataReader dr)
        {
            IdCliente = (int)dr["IdCliente"];
            RPU = (long)dr["RPU"];
           NumCuenta = (string)dr["NumCuenta"];
           NumGrupo = (byte)dr["NumGrupo"];

            Nombre = (string)dr["Nombre"];
            
        }
        public override void Save()
        {
            throw new System.NotImplementedException();
        }
    }


y por ultimo esto:


public IEnumerable<Cliente> GetClientes(int IdCliente)
        
 
         {
             return GetEnumerable<Cliente>(BdFacthorDiv.Clientes.GetClientes(IdCliente));
           

         }


como dije funciona perfectamente asi pero ahora quiero que enlugar de que en la pagina de local host me muetre como se ve en el foreach, ahora me lo muetre pero en una lista cosa que por llevar poco programando no entiendo muy bien y el unico lugar donde puedo conectarme a internet es en el lugar donde estoy realizando el proyecto y el acceso a sitios web es restringido, en mi casa no tengo ningun acceso a internet  y no hay cybercafe cercanos.
espero puedan ayudarme, si ocupan algo mas de informacion me dicen


11-Jan-2015 16:37
Nacho Cabanes (+83)

No acabo de entender...

Suena a que tu problema sea más de formatos en HTML que de programación en C#.

Si quieres que esos datos, que sabes mostrar en consola, aparezcan en una lista de una página web basta escribir "<li>" antes de cada uno de ellos y "</li>" tras cada uno. Antes del conjunto de todos los datos de la lista, comenzarías ésta con "<ul>" y al final la cerrarías con "</ul>".


13-Jan-2015 08:22
Invitado (fernando)

gracias por responderme
el punto es que quiero mostrar esto que muestro en foreach


foreach (var cliente in Factory.Clientes.GetClientes(2182))
                {
                  Response.Write(" RPU :    " + cliente.RPU + " </br>  ");
                Response.Write( "  Numero de Cuenta:  " +  cliente.NumCuenta + "</br>"  );
                Response.Write("  Id del Cliente:   " + cliente.IdCliente + "</br>" );
                Response.Write("  Numero del Grupo: " + cliente.NumGrupo + "</br>"); 
             }


en un gridview o en alguna otra lista
como podria hacer eso yo?


13-Jan-2015 15:23
Nacho Cabanes (+83)

Si estás empezando, un ListView es mucho más sencillo de manipular que un GridView: tiene una propiedad "Items", en la que vas añadiendo elementos con ".Add", así que sería algo como


miListView.Items.Add( " RPU :    " + cliente.RPU );





13-Jan-2015 18:15
Invitado (Fernando)

estoy utilizando este codigo para mostrar el campo llamado "RPU"
el "2182" es utilizado como un where lo que significa que esta mostrando el RPU de la persona con el Id 2182


foreach (var cliente in Factory.Clientes.GetClientes(2182))
                {
                  Response.Write(" RPU :    " + cliente.RPU + " </br>  ");


y me muestra "RPU: 789634122" (por decir un ejemplo)

la consulta ya es generada desde otra clase
ya seleccione el campo de dicha consulta creando una entidad la cual en el foreach la estoy utilizando

ahora estoy queriendo mostrar este mismo resultado en un listado para que se vea formal

Nacho Cabanes
la verdad es que si muy nuevo en esto, estoy haciendo mi practica o bien tesis en una empresa, estoy mas especializado en el lado de redes y telecomunicaciones, pero me dieron la oportunidad de hacer mis practicas en la empresa donde me encuentro ahorita mismo y ya llevo mas de 1 mes aprendiendo, hace mucho toque la programación pero fue algo leve,
este sistema lo estoy usando como base las consultas ya generadas, como se puede apreciar la consulta esta generada en una clase
la entidad esta en otra
y por ultimo en donde muestro ya el resultado
en donde ya cargo la pagina y me muestra el resultado

intente poner dentro del foreach lo que me pusiste y no me funciono :c
agregue el listview y copie el codigo en el foreach y marca error
:C


14-Jan-2015 23:47
Nacho Cabanes (+83)

Para que funcione el código que te puse, antes tendrás que crear un ListView en tu formulario y llamarlo "miListView".






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)