Os comento una cosa que me pasa.
Intento recuparer una fila de una tabla que hay en un DataSet.
El DataSet lo saco de una variable de sesión, puesto que lo utilizo en
varios formularios a lo largo de la aplicación (es un filtro que me devuelve
pocos registros y que utilizo mientras tengo la sesión abierta), y lo tengo
de la siguiente forma:
INICIO CODIGO
'* Recupero el DataSet y el ID que me interesan
Dim sel_ID As Integer = Session("mi_id")
Dim dsMidataset As DataSet = CType(Session("dataset"), DataSet).Copy
'* Obtenego un DataRow con la fila que me interesa.
dsMidataset .Tables("tblTabla1").DefaultView.Sort = "Id_Tabla1"
Dim intIndex As Integer =
dsMidataset.Tables("tblTabla1").DefaultView.Find(sel_ID)
Dim dRow As DataRow = dsMidataset.Tables("tblTabla1").Rows(intIndex)
// FIN CODIGO
Una vez obtenida la fila, me encuentro con que al sacar los datos que me
interesan
Id_Nombre = dRow("Id_Tabla1")
Nombre = dRow("Nombre")
no se corresponden, esto es, el id_1 no se corresponde con nombre1, el id_2
no se corresponde con nombre2, etc, etc, los campos de ambas columnas se han
colocado de diferente forma.
Supongo que habrá alguna forma de que al hacer la ordenación
(DefaultView.Sort) me ordene todos los campos de la tabla de forma conjunta,
no solamente el índice. O bien debe haber otra forma de obtener la fila cuya
identidad es la que me interesa (sel_ID es la identidad que busco).
Eso por un lado, por otro lado me ocurre otra cosa con la variable de
sesión, que si no pongo ese Copy al final de la linea que carga el DataSet
de la variable de sesión en el que acabo de declarar, cualquier cambio que
haga en el DataSet se refleja en la variable de sesión y en los sucesivos
usos que hago de ella.
Es posible que todo esto sean cosas elementales, pero últimamente me están
trayendo de cabeza.
Gracias por leerme y un saludo
Leer las respuestas