Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 02-abr-2007, 12:51   #1 (permalink)
jhonwilliams tiene algunos puntos positivos de karma
 
Avatar de jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.106
Recorrer ListBox

Hola

Estoy tratando de recorrer un ListBox que tiene como origen de datos un DataView, el problema que tengo es que al recorrerla no alcanzo el valor del item como tal, lo que alcanzo es el tipo de valor, el ListBox le asigno los datos asi:

Código:
dvLotesPOY = dsLlenarDatos.Tables[1].DefaultView;//Instancia del DataView
lstLotesPOY.DataSource = dvLotesPOY.Table;
lstLotesPOY.DisplayMember = "LotePoyProducto";
lstLotesPOY.ValueMember = "LotePoyProducto";
Asi estoy tratando de leerlo.

Código:
for(int i..............................)
{
     Variable = ListBox.Items[i].ToString();
}
El problema surgue porque a Variable no se le lleva el item seleccionado, se le lleva esto: System.Data.DataRowView

Los items que tiene el list son algo como esto:
222 PES SM RD PY 320F36 HD TX
224 PES SM RD PY 130F48 HD TX
225 PES SM RD PY 180F48 HD TX
.
.
.
Y es eso lo que necestio leer.

Gracias
__________________
"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
jhonwilliams está desconectado   Responder Citando
Antiguo 02-abr-2007, 14:41   #2 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.539
Enviar un mensaje por MSN a RootK
Re: Recorrer ListBox

inténtalo de ésta forma:

Código:
  System.Data.DataRowView dr = null;
            for (int i = 0; i<=ListBox.Items.Count -1; i++) {
                dr = (System.Data.DataRowView)ListBox.Items[i];

                MessageBox.Show(dr["Columna"].ToString());
            }
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 02-abr-2007, 15:05   #3 (permalink)
jhonwilliams tiene algunos puntos positivos de karma
 
Avatar de jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.106
Re: Recorrer ListBox

Hola RootK, te agradesco mucho tu ayuda pero ya me enrrede, te posteo el code que tengo completo y tratare de explicartelo mas detenidamente:

Yo no nesito recorrer todos los items, solo los que estan seleccionados, eso fue algo que se me olvido escribir en el mensaje anterior, para ello uso un codigo como este:

Código:
string LotesPoy = "";//Variable para items seleccinados
if (lstLotesPOY.SelectedItems.Count > 0)//Pregunto si hay items seleccionados
{
       LotesPoy = "('";
       for (int i = 0; i < lstLotesPOY.Items.Count; i++)
      {
            if (lstLotesPOY.GetSelected(i) == true)//Esto lo use para ver si el item en la posicion i esta seleccionado
               {
                    LotesPoy = LotesPoy + lstLotesPOY.Items[i].ToString().Substring(0, 3) + "', '";
                }
            }
                LotesPoy = LotesPoy.Substring(0, LotesPoy.Length - 3) + ")";
       }
return LotesPoy;
El string que se retorna es algo como esto

('222','224','256'....)

Solo los 3 primeros dijitos de cada item seleccionado se agrega al string.
__________________
"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
jhonwilliams está desconectado   Responder Citando
Antiguo 02-abr-2007, 15:21   #4 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.539
Enviar un mensaje por MSN a RootK
Re: Recorrer ListBox

y así no te sirve:

Código:
string LotesPoy = "";//Variable para items seleccinados
System.Data.DataRowView dr = null;
if (lstLotesPOY.SelectedItems.Count > 0)//Pregunto si hay items seleccionados
{
       LotesPoy = "('";
       for (int i = 0; i < lstLotesPOY.Items.Count; i++)
      {
            if (lstLotesPOY.GetSelected(i) == true)//Esto lo use para ver si el item en la posicion i esta seleccionado
               {
dr = (System.Data.DataRowView)lstLotesPOY.Items[i];
                    LotesPoy = LotesPoy + dr["Columna"].ToString().Substring(0, 3) + "', '";
                }
            }
                LotesPoy = LotesPoy.Substring(0, LotesPoy.Length - 3) + ")";
       }
return LotesPoy;
RootK está desconectado   Responder Citando
Antiguo 02-abr-2007, 15:41   #5 (permalink)
jhonwilliams tiene algunos puntos positivos de karma
 
Avatar de jhonwilliams
 
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.106
Re: Recorrer ListBox

RootK gracias por tu ayuda el codigo que acabas de poner no lo revise, entre para decirte que el code quedo asi:

Código:
string LotesPoy = "";
            if (lstLotesPOY.SelectedItems.Count > 0)
            {
                LotesPoy = "('";
                foreach (DataRowView r in lstLotesPOY.SelectedItems)
                {
                    LotesPoy = LotesPoy + r.Row[0].ToString().Substring(0, 3) + "', '";
                }
                LotesPoy = LotesPoy.Substring(0, LotesPoy.Length - 3) + ")";
            }
Nuevamente muchas gracias por tu ayuda.

Saludos
__________________
"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
jhonwilliams está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:14.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93