No ordena Datatable cuando ordeno Grid

21/08/2004 - 16:30 por Davis Godoy Torres | Informe spam
Lo que se ve en el Grid no es el mismo orden como esta en
el DataTable si ordenas los registros haciendo click en la
cabecera del Grid de una de las columnas

Por ejemplo

Tengo el siguiente DataTable enlazado a un Grid llamado
Grid1

Codigo Descripcion
1 A
2 B
3 C > Mi DataTable
4 D
5 E

Y asi se ve mi Grid

Codigo Descripcion
1 A
2 B
3 C
4 D
5 E


Ahora si quiero mostrar el valor B en un msgbox lo que
hago es:


MsgBox(dsPrueba.Tables("Mitabla").Rows
(Me.Grid1.CurrentCell.RowNumber).Item"Descripcion").ToStrin
g)


Y se muestra el dato correcto: el valor B



Pero ahora ordenemos el grid por Codigo descendentemente,
se veria asi

Codigo Descripcion
5 E
4 D
3 C
2 B
1 A


Ahora si quiero mostrar el valor D en un msgbox haria lo
mismo

MsgBox(dsPrueba.Tables("Mitabla").Rows
(Me.Grid1.CurrentCell.RowNumber).Item"Descripcion").ToStrin
g)

Pero se muestra no el valor D sino el valor B

¿Por que?

Segun creo yo cuando ordenamos el Grid solo se ordena
visualmente el control pero sigue intacto el DataTable y
por eso me sigue mostrando el valor B.

Claro yo pudiera coger directamente el valor de la celda
para evitar problemas:

Msgbox(Me.Grid1.Item(Me.Grid1.CurrentCell.RowNumber, 1))

Peroooo ¿si el valor que quiero mostrar en el msgbox no
esta mostrado en el grid? Tendria que agarrarlo del mismo
datatable.


Bueno en vista de eso lo que he hecho es crear un
correlativo en el datatable, pero creo que esa no es la
manera.

No se si a algunos de Uds. le a pasado esto y hay alguna
solucion a esto, del tal forma que cuando ordene mi grid
tambien junto con el se ordene mi Datatable.

Ojala alguien pueda ayudarme


Gracias!!!!
.
 

Leer las respuestas

#1 LuisMiguel
21/08/2004 - 17:44 | Informe spam
Buenas
Pues creo que es asi, me parece que en la ayuda, inclusive lo expecifica.
La unica solucion es realizar la busqueda en el datatable

Si no es asi, que alguien me corrija.

Suerte
LuisMiguel
"Davis Godoy Torres" escribió en el mensaje
news:a3de01c4878b$61967230$
Lo que se ve en el Grid no es el mismo orden como esta en
el DataTable si ordenas los registros haciendo click en la
cabecera del Grid de una de las columnas

Por ejemplo

Tengo el siguiente DataTable enlazado a un Grid llamado
Grid1

Codigo Descripcion
1 A
2 B
3 C > Mi DataTable
4 D
5 E

Y asi se ve mi Grid

Codigo Descripcion
1 A
2 B
3 C
4 D
5 E


Ahora si quiero mostrar el valor B en un msgbox lo que
hago es:


MsgBox(dsPrueba.Tables("Mitabla").Rows
(Me.Grid1.CurrentCell.RowNumber).Item"Descripcion").ToStrin
g)


Y se muestra el dato correcto: el valor B



Pero ahora ordenemos el grid por Codigo descendentemente,
se veria asi

Codigo Descripcion
5 E
4 D
3 C
2 B
1 A


Ahora si quiero mostrar el valor D en un msgbox haria lo
mismo

MsgBox(dsPrueba.Tables("Mitabla").Rows
(Me.Grid1.CurrentCell.RowNumber).Item"Descripcion").ToStrin
g)

Pero se muestra no el valor D sino el valor B

¿Por que?

Segun creo yo cuando ordenamos el Grid solo se ordena
visualmente el control pero sigue intacto el DataTable y
por eso me sigue mostrando el valor B.

Claro yo pudiera coger directamente el valor de la celda
para evitar problemas:

Msgbox(Me.Grid1.Item(Me.Grid1.CurrentCell.RowNumber, 1))

Peroooo ¿si el valor que quiero mostrar en el msgbox no
esta mostrado en el grid? Tendria que agarrarlo del mismo
datatable.


Bueno en vista de eso lo que he hecho es crear un
correlativo en el datatable, pero creo que esa no es la
manera.

No se si a algunos de Uds. le a pasado esto y hay alguna
solucion a esto, del tal forma que cuando ordene mi grid
tambien junto con el se ordene mi Datatable.

Ojala alguien pueda ayudarme


Gracias!!!!
.

Preguntas similares