martes, 25 de julio de 2017

Ordenar Dom

Mediante esta función podemos ordenar un Dom obtenido en un Search

' pDom: Dom que queremos ordenar (con esquema docSearch o similar)
' pAtt: Atributo por el cual queremos ordenar
' pAttType: Tipo del atributo (1=Char, 2=Datetime, 3=Numeric)
' pDesc: True para Descendente

Sub SortDom(pDom, pAtt, pAttType, pDesc)
 Dim i, j, cambiar, ni, vi, nj, vj
 
 For i = 0 To pDom.documentElement.childNodes.length - 2
  For j = i + 1 To pDom.documentElement.childNodes.length - 1
   Set ni = pDom.documentElement.childNodes(i)
   vi = dSession.Xml.XmlDecode(ni.getAttribute(pAtt), CLng(pAttType))
   Set nj = pDom.documentElement.childNodes(j)
   vj = dSession.Xml.XmlDecode(nj.getAttribute(pAtt), CLng(pAttType))
   If pDesc Then
    cambiar = vj > vi
   Else
    cambiar = vj < vi
   End If
   If cambiar Then pDom.documentElement.insertBefore nj, ni
  Next
 Next
End Sub

No hay comentarios:

Publicar un comentario