MS SAP
This commit is contained in:
130
app/DD-Record-Organizer/frmNodeNavigation.vb
Normal file
130
app/DD-Record-Organizer/frmNodeNavigation.vb
Normal file
@@ -0,0 +1,130 @@
|
||||
Imports DevExpress.XtraTreeList
|
||||
Imports DevExpress.XtraTreeList.Columns
|
||||
Imports DevExpress.XtraTreeList.Nodes.Operations
|
||||
Imports DevExpress.XtraTreeList.Nodes
|
||||
Imports DevExpress.XtraSplashScreen
|
||||
Imports System.Threading
|
||||
|
||||
Public Class frmNodeNavigation
|
||||
Dim DTNODES As DataTable
|
||||
Private RunningTask As Task
|
||||
Private RunningTaskTokenSource As New CancellationTokenSource
|
||||
Private RunningTaskToken = RunningTaskTokenSource.Token
|
||||
Private Sub frmNodeNavigation_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
Load_nodes()
|
||||
End Sub
|
||||
Async Function Load_nodes() As Threading.Tasks.Task
|
||||
Dim oHandle = SplashScreenManager.ShowOverlayForm(Me)
|
||||
Try
|
||||
|
||||
Dim oToken = RunningTaskTokenSource.Token
|
||||
Dim Sql = String.Format("select T.GUID,T.RECORD_ID, T.NODE_CONFIG_ID,T.NODE_CAPTION,T.ID1, T.BACK_COLOR,T.PARENT_GUID from VWPMO_STRUCTURE_NODES T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T1.CONSTRUCT_ID = {0}", 1)
|
||||
DTNODES = ClassDatabase.Return_Datatable(Sql, True)
|
||||
Sql = String.Format("select T.* from TBPMO_STRUCTURE_NODES_CONFIGURATION T INNER JOIN VWPMO_CONSTRUCTOR_FORMS T1 ON T.ENTITY_ID = T1.FORM_ID WHERE T1.CONSTRUCT_ID = {0}", 1)
|
||||
Dim DT_TREEVIEW_CONFIGURATION = ClassDatabase.Return_Datatable(Sql)
|
||||
For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows
|
||||
Try
|
||||
Dim bimage = row.Item("NODE_IMAGE")
|
||||
If Not IsDBNull(bimage) Then
|
||||
Dim Node_image = ByteArrayToBitmap(bimage)
|
||||
ImageCollection1.AddImage(Node_image, row.Item("GUID"))
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
TreeListDevexpress.DataSource = DTNODES
|
||||
TreeListDevexpress.KeyFieldName = "GUID"
|
||||
TreeListDevexpress.ParentFieldName = "PARENT_GUID"
|
||||
TreeListDevexpress.StateImageList = ImageCollection1
|
||||
Try
|
||||
TreeListDevexpress.Columns.ColumnByName("colRECORD_ID").Visible = False
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
Try
|
||||
TreeListDevexpress.Columns.ColumnByName("colNODE_CONFIG_ID").Visible = False
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
Try
|
||||
TreeListDevexpress.Columns.ColumnByName("colBACK_COLOR").Visible = False
|
||||
TreeListDevexpress.Columns.ColumnByName("colID1").Visible = False
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
Finally
|
||||
SplashScreenManager.CloseOverlayForm(oHandle)
|
||||
End Try
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub TreeListDevexpress_GetStateImage(sender As Object, e As DevExpress.XtraTreeList.GetStateImageEventArgs)
|
||||
Dim Column_Config_ID As DevExpress.XtraTreeList.Columns.TreeListColumn = TreeListDevexpress.Columns("NODE_CONFIG_ID")
|
||||
Dim configid = e.Node.GetDisplayText(Column_Config_ID)
|
||||
|
||||
e.Node.StateImageIndex = ImageCollection1.Images.Keys.IndexOf(configid)
|
||||
|
||||
End Sub
|
||||
Private Sub TreeListDevexpress_ColumnFilterChanged(sender As Object, e As EventArgs)
|
||||
Dim tree As TreeList = TryCast(sender, TreeList)
|
||||
Dim filteredColumns As List(Of TreeListColumn) = tree.Columns.Cast(Of TreeListColumn)().Where(Function(c) c.FilterInfo.AutoFilterRowValue IsNot Nothing).ToList()
|
||||
If filteredColumns.Count = 0 Then
|
||||
tree.CollapseAll()
|
||||
Return
|
||||
End If
|
||||
|
||||
tree.BeginUpdate()
|
||||
For Each col As TreeListColumn In filteredColumns
|
||||
Dim op As New CollapseChildrenOperation(col.FilterInfo.AutoFilterRowValue.ToString(), col)
|
||||
tree.NodesIterator.DoOperation(op)
|
||||
Next col
|
||||
tree.EndUpdate()
|
||||
End Sub
|
||||
Public Class CollapseChildrenOperation
|
||||
Inherits TreeListOperation
|
||||
|
||||
Private filterValue As String
|
||||
Private column As TreeListColumn
|
||||
|
||||
Public Sub New(ByVal filter As String, ByVal col As TreeListColumn)
|
||||
filterValue = filter
|
||||
column = col
|
||||
End Sub
|
||||
|
||||
Private Function IsNodeMatchFilter(ByVal node As TreeListNode, ByVal column As TreeListColumn) As Boolean
|
||||
Return node.GetDisplayText(column).Contains(filterValue)
|
||||
End Function
|
||||
Public Overrides Sub Execute(ByVal node As TreeListNode)
|
||||
If IsNodeMatchFilter(node, column) Then
|
||||
node.TreeList.MakeNodeVisible(node)
|
||||
CollapseChildren(node)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub CollapseChildren(ByVal node As TreeListNode)
|
||||
'node.Visible = true;
|
||||
For Each childNode As TreeListNode In node.Nodes
|
||||
CollapseChildren(childNode)
|
||||
Next childNode
|
||||
node.Expanded = False
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Private Sub TreeListDevexpress_FocusedNodeChanged(sender As Object, e As FocusedNodeChangedEventArgs) Handles TreeListDevexpress.FocusedNodeChanged
|
||||
For Each treeListNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeListDevexpress.Selection
|
||||
Dim oID = treeListNode.Id
|
||||
Dim PID = treeListNode.ParentNode
|
||||
Console.WriteLine(oID)
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user