ASP.NET - Como rankear una columna de datatable

 
Vista:

Como rankear una columna de datatable

Publicado por sexilia (4 intervenciones) el 10/09/2008 19:56:12
Hola a todos, son muy novata en .Net, necesito saber como puedo hacer un ranking de una columna de un datatable. Supongamos que la columna a rankear se llama "Porcentaje", y el valor del rank se pone en otra columna llamada "Ranking", les dejo entendido que es un datatable. No se si me expliqué mucho, pero alguien me puede ayudar por favor? y Gracias!
P.D. estoy trabajando con VB
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como rankear una columna de datatable

Publicado por miguel (121 intervenciones) el 10/09/2008 22:14:08
Oye puedes poner un ejemplo de lo que quieres la verdad no te entendi:
algo asi como:

|Porcentaje| Ranking |
|_________|_______|
|_________|_______|
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por sexilia (4 intervenciones) el 10/09/2008 22:30:08
Asi es precisamente, supon que ya tengo los valores en Porcentaje, y ahora tengo que rankear todos esos valores e insertar su rank en la columna de Ranking, lo cual está asi:

|Porcentaje|Ranking|
|__45%___|______|
|__75%___|______|
|__32%___|______|
|__93%___|______|

el problema aqui es que no se como ☺
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por miguel (121 intervenciones) el 10/09/2008 23:06:48
mmmhhh pues todavia no me queda claro que quieres insertar en la columna Ranking usando tu ejemplo talvez pueda ser algo como;

|Porcentaje|Ranking |
|__45%___||||||||| ___|
|__75%___|||||||||||||__|
|__32%___||||||_____|
|__93%___||||||||||||||||_|


cierto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por sexilia (4 intervenciones) el 10/09/2008 23:27:00
tienes razon, miguel no he sido muy especifica, disculpa, para mas detalle quiero que me quede asi:

|Porcentaje|Ranking |
|__45%___|__3 ___|
|__75%___|__2___|
|__32%___|__4___|
|__93%___|__1___|

el problema como leo cada valor en porcentaje y de ahi como rankearlo, por ultimo como lo inserto su posicion en la columna ranking
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por miguel (121 intervenciones) el 11/09/2008 02:00:50
Vaya es interesante tu problema y te tengo dos noticias una buena y una mala,
primero la bueno va?
tuve quince min libres y lo resolvi,

ahora la mala: a mi no me gusta VB uso c#, pero es parecido,
ahi va la solucion:

////partimos de que los datos ya estan en un dataTable y tenemos dos columnas
// y la primer columna ya tiene datos
//la tabla con datos le puse tbData

List<int> lstPorcentajes = new List<int>();

//a la lista le mandamos todos los valores de % pero le quitamos el '%'
//si te fijas List es un arreglo de enteros
//Nota para usar list es necesario agregar
//using System.Collections.Generic bueno en visual basic no se como se declara

foreach(DataRow rPorcentaje in tbData.Rows)
{
lstPorcentajes.Add(Convert.ToInt32( rPorcentaje[0].ToString().Replace("%","")));
}

lstPorcentajes.Sort();//ordenamos los datos

//ahora buscamos cada valor de la tabla en arreglo y en que posicion esta
//el valor de la posicion lo agregamos en la segunda columna
foreach (DataRow rPorcentaje in tbData.Rows)
{
rPorcentaje[1] = lstPorcentajes.IndexOf(Convert.ToInt32( rPorcentaje[0].ToString().Replace("%","")))+1;
}


///eso es todo, cualquier duda podriamos seguir por este medio

Saludos, desde Mexico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por sexilia (4 intervenciones) el 11/09/2008 02:31:17
Mil gracias Miguel, me esta sirviendo muchisimo lo q dices, lo he pasado a mi lenguaje en VB, pero me marca el siguiente error:

Detalles de la excepción: System.FormatException: La cadena de entrada no tiene el formato correcto.

Error de código fuente:

Línea 871: For Each row In dtReseJChOt.Rows
Línea 872:
Línea 873: lstPorcentajes.Add(CInt(row(0).ToString().Replace("%", ""))) 'Replace("%", "")))
Línea 874:
Línea 875: Next


yo tambien odio el VB, solo me gusta java y c#, pero lo tengo q hacer en vb. Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por miguel (121 intervenciones) el 11/09/2008 07:59:03
en VB segun recuerdo no usa "" como texto vacio
intenta esta: Replace("%", String.Empty)

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por x (445 intervenciones) el 12/09/2008 15:45:36
http://www.sqljunkies.ddj.com/Article/4E65FA2D-F1FE-4C29-BF4F-543AB384AFBB.scuk
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como rankear una columna de datatable

Publicado por sexilia (1 intervención) el 12/09/2008 18:57:38
Hola muchas gracias miguel y X por su ayuda, afortunadamente creo que ya me quedó.
Saludos y gracias, buen foro!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar