Ordenación de dataset en vb .net

A veces lo que debería ser sencillo se nos complica ya sea por limitación técnica del proyecto, olvido o cualquier otro motivo.

Dejo aquí un ejemplo de VB .NET en el cual al pulsar un botón, se crea de manera dinámica un dataset con una tabla que contiene una única columna. Se rellena introduciendo del 0 al 100 y posteriormente se ordena la tabla del dataset del 100 al 0.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    'creamos dataset
    Dim midataset As New DataSet
    midataset.Tables.Add("TABLA")

    'Creo un tipo columna al cual le indico que es integer
    Dim colindice As New DataColumn("INDICE", GetType(Integer))

    'Añado la columna creada previamente
    midataset.Tables("TABLA").Columns.Add(colindice)

    'rellenamos dataset
    For I = 0 To 100
        Dim lineaainsertar As DataRow = midataset.Tables("TABLA").NewRow
        lineaainsertar.Item("INDICE") = I
        midataset.Tables("TABLA").Rows.Add(lineaainsertar)
    Next

    'Ordenar dataset
    'Creo una vista y la ordeno
    Dim vista As New DataView(midataset.Tables("TABLA"))
    vista.Sort = "INDICE DESC"

    'Creo una datatable donde volcar ordenado el contenido de la vista
    Dim datatatabletemp As DataTable
    datatatabletemp = vista.ToTable


    'Vacio la tabla sel dataset y la lleno con los datos del datatable.
    midataset.Tables("TABLA").Clear()
    midataset.Tables("TABLA").Merge(datatatabletemp)
    midataset.Tables("TABLA").AcceptChanges()


    'Muestro el primer valor de la tabla TABLA del dataset
    MessageBox.Show(midataset.Tables("TABLA").Rows(0).Item("INDICE"))


End Sub

Por cierto, al parecer el otro visor de plugin que usaba para mostrar código ha dejado de funcionar, así que he pasado a Enlighter. Veremos que tal va.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.