Come si ordina un datatable? Devo restituire un datatable da una funzione. Ho lottato con questo per ore, e Internet ha alcune risposte diverse, nessuna delle quali sembra funzionare per me.Come ordinare un datatable
Modifica: voglio darmi un pugno. Fare un DataView.Sort sulla vostra tavola, poi un DataView.ToTable() per inserire i dati ordinati in un nuovo insieme di dati ... Esempio:
Dim view As New DataView(OriginalDataSet) 'Put your original dataset into a dataview
view.Sort = "ColumnName" ' Sort your data view
Dim NewDataSet As DataTable = view.ToTable() ' Put your dataview into a new datatable
Fine esempio
Ho un relativamente semplice tabella di esempio qui sotto, tratta da un sito web di insegnamento. L'unica differenza è che ci sono valori duplicati nella riga che sto cercando di ordinare.
Module Module1
Sub Main()
' Get a DataTable instance from helper function.
Dim table As DataTable = GetTable()
End Sub
''' <summary>
''' Helper function that creates new DataTable.
''' </summary>
Function GetTable() As DataTable
' Create new DataTable instance.
Dim table As New DataTable
' Create four typed columns in the DataTable.
table.Columns.Add("Dosage", GetType(Integer))
table.Columns.Add("Drug", GetType(String))
table.Columns.Add("Patient", GetType(String))
table.Columns.Add("Date", GetType(DateTime))
' Add five rows with those columns filled in the DataTable.
table.Rows.Add(25, "Indocin", "David", DateTime.Now)
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now)
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now)
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now)
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now)
table.Rows.Add(21, "Aspirin", "Janet", DateTime.Now)
Return table
End Function
End Module
Ho provato selezionando in una matrice, quindi scorrendo l'array e conclude ogni riga in un nuovo datatable, ma il prescelto non è afferrare righe. Esempio:
drarray = ds.Select ("Voglio selezionare tutti qui", "MySortColumn")
Ho provato varie strategie loop, con i loop interni, ecc e non riesco a capirlo .
Ho provato dataTable.DefaultView.Sort = "sortExp" ma non riesco a farlo funzionare.
Quindi cosa mi manca? Immagino con i metodi DefaultView e Select mi manca qualcosa in modo sintetico.
Quindi qual è il modo migliore per andare e cosa mi manca?
Grazie. Ho trovato la modifica per essere utile. – mack