Hai dan terima kasih sebelumnya:
Jadi saya mencoba menarik tabel dari database SQL dan mengurutkannya pada kolom "Tanggal Dari" (DtFr), yang mewakili awal sewa. Saya pikir akan semudah ini:
Dim XmlReader As New XmlNodeReader(xmlDoc)
Dim ds As New DataSet
ds.ReadXml(XmlReader)
myDt = ds.Tables("Cam")
If myDt IsNot Nothing AndAlso myDt.Rows.Count > 0 Then
Dim dv As New DataView(myDt)
dv.Sort = "DtFr ASC"
myDt = dv.ToTable(False, "Id", "Name", "Amount", "Unpaid", "DtFr")
End If
Namun seperti yang sudah Anda duga, ini tidak berfungsi (pengguna baru, tidak dapat memposting gambar, itu hanya gambar tanggal yang rusak).
Mungkinkah karena pada suatu saat selama pengambilan data, datanya tidak lagi bertipe Date dan berupa string atau semacamnya? Jika saya menggunakan tanggal yang lebih sederhana, seperti 1/1/2012, 2/1/2012, 3/1/2012 atau 1/1/2012, 1/2/2012, 1/3/2012 dll. Anda akan melihat di atas, jika saya memiliki bulan yang bervariasi, itu akan mengaturnya.
Saya sudah mencoba mengacaukan budaya, berpikir mungkin saja mengurutkannya pada bulan-bulan sebelum tahun tidak berhasil... Saya bingung, bantuan, ide, atau arahan apa pun ke sesuatu yang bermanfaat akan sangat bagus.
Sangat Dihargai, Josh
EDIT: Anda jenius, terima kasih banyak. Anda benar tentang nilai string. Saya menambahkan kolom data yang disebut sortDtFr ke tabel data dan memberikannya System.DateTime sebagai tipe data dan mengulangi baris-baris yang mengatur nilai kolom baru sama dengan yang lama yang dipilih sebagai Tanggal. Berikut kodenya bagi yang berminat:
ds.ReadXml(XmlReader)
myDt = ds.Tables("Cam")
myDt.Columns.Add(New DataColumn("sortDtFr", System.Type.GetType("System.DateTime")))
For Each row As DataRow In myDt.Rows
row("sortDtFr") = CDate(row("DtFr"))
Next
If myDt IsNot Nothing AndAlso myDt.Rows.Count > 0 Then
Dim dv As New DataView(myDt)
dv.Sort = "sortDtFr ASC"
myDt = dv.ToTable(False, "Id", "Name", "Amount", "Unpaid", "DtFr", "sortDtFr")
End If