批量粘贴与批量撤销功能上线
This commit is contained in:
78
.gitignore
vendored
78
.gitignore
vendored
@@ -1,41 +1,47 @@
|
|||||||
#
|
|
||||||
#ignore thumbnails created by windows
|
|
||||||
Thumbs.db
|
|
||||||
#Ignore files build by Visual Studio
|
|
||||||
*.obj
|
|
||||||
*.exe
|
|
||||||
*.pdb
|
|
||||||
*.user
|
|
||||||
*.aps
|
|
||||||
*.pch
|
|
||||||
*.vspscc
|
|
||||||
*_i.c
|
|
||||||
*_p.c
|
|
||||||
*.ncb
|
|
||||||
*.suo
|
|
||||||
*.tlb
|
|
||||||
*.tlh
|
|
||||||
*.bak
|
|
||||||
*.cache
|
|
||||||
*.ilk
|
|
||||||
*.log
|
|
||||||
[Bb]in/
|
|
||||||
[Dd]ebug*/
|
|
||||||
*.sbr
|
|
||||||
obj/
|
|
||||||
|
|
||||||
[Rr]elease*/
|
|
||||||
_ReSharper*/
|
|
||||||
[Tt]est[Rr]esult*
|
|
||||||
packages
|
|
||||||
|
|
||||||
|
|
||||||
log.txt
|
|
||||||
/.vs
|
|
||||||
.vs/
|
.vs/
|
||||||
|
|
||||||
node_modules/
|
# .NET编译生成文件
|
||||||
|
[Bb]in
|
||||||
|
[Oo]bj
|
||||||
|
[Dd]ebug*/
|
||||||
|
*.pdb
|
||||||
|
*.user
|
||||||
|
*.suo
|
||||||
|
*.cache
|
||||||
|
*.ilk
|
||||||
|
*.ncb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.vsp
|
||||||
|
*.vspscc
|
||||||
|
|
||||||
|
# 发布输出
|
||||||
|
publish/
|
||||||
|
*.pubxml
|
||||||
|
|
||||||
|
# NuGet包
|
||||||
|
packages/
|
||||||
|
*.nupkg
|
||||||
|
|
||||||
|
# Visual Studio临时文件
|
||||||
|
_ReSharper.*
|
||||||
|
*.resharper
|
||||||
|
[Tt]emp/
|
||||||
|
|
||||||
|
# MSTest测试结果
|
||||||
|
TestResults/
|
||||||
|
*.trx
|
||||||
|
|
||||||
|
# Rider IDE
|
||||||
.idea/
|
.idea/
|
||||||
.DS_Store
|
*.sln.iml
|
||||||
|
|
||||||
|
# VS Code
|
||||||
|
.vscode/
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# 用户特定文件
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# 构建日志
|
||||||
|
msbuild.log
|
||||||
|
|||||||
@@ -118,6 +118,24 @@ Namespace UTSModule.Station
|
|||||||
Public Sub PlanGridSelectChanged(sender As Object, ByVal e As PlanNodeSelectChangedEventArgs)
|
Public Sub PlanGridSelectChanged(sender As Object, ByVal e As PlanNodeSelectChangedEventArgs)
|
||||||
TsBtnBackward.Enabled = _planGrid.CanBackward
|
TsBtnBackward.Enabled = _planGrid.CanBackward
|
||||||
TsBtnForward.Enabled = _planGrid.CanForward
|
TsBtnForward.Enabled = _planGrid.CanForward
|
||||||
|
|
||||||
|
'表格移动
|
||||||
|
If GrdStationPlan Is Nothing OrElse GrdStationPlan.Tree.SelectedNode Is Nothing Then Return
|
||||||
|
Dim canMove As Boolean = True
|
||||||
|
Dim startMoveRow As Integer = GrdStationPlan.Selection.FirstRow
|
||||||
|
Dim moveRows As Integer = GrdStationPlan.Selection.LastRow - GrdStationPlan.Selection.FirstRow + 1
|
||||||
|
Dim startLever As Integer = GrdStationPlan.Tree.FindNode(startMoveRow).Level
|
||||||
|
For i As Integer = startMoveRow To startMoveRow + moveRows - 1
|
||||||
|
If startLever <> GrdStationPlan.Tree.FindNode(startMoveRow).Level Then
|
||||||
|
canMove = False
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
TsBtnMoveDown.Enabled = canMove
|
||||||
|
TsBtnMoveLeft.Enabled = canMove
|
||||||
|
TsBtnMoveRight.Enabled = canMove
|
||||||
|
TsBtnMoveUp.Enabled = canMove
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub PlanGridCommandChanged(sender As Object, e As EventArgs)
|
Public Sub PlanGridCommandChanged(sender As Object, e As EventArgs)
|
||||||
|
|||||||
@@ -1,24 +1,35 @@
|
|||||||
Public Class GridNodeTextChangedCommand : Implements ICommand
|
Imports UTS_Core.UTSModule.Station
|
||||||
|
|
||||||
Private ReadOnly grd As FlexCell.Grid
|
Public Class GridNodeTextChangedCommand : Implements ICommand
|
||||||
Private ReadOnly row As Integer
|
|
||||||
Private ReadOnly col As Integer
|
|
||||||
Private ReadOnly beforeText As String
|
|
||||||
Private ReadOnly afterText As String
|
|
||||||
|
|
||||||
Sub New(grd As FlexCell.Grid, row As Integer, col As Integer, beforeText As String, afterText As String)
|
Private ReadOnly grd As StationPlanGrid
|
||||||
|
Private ReadOnly dic As Dictionary(Of Integer, TextChangedRowNode)
|
||||||
|
|
||||||
|
Sub New(grd As StationPlanGrid, dic As Dictionary(Of Integer, TextChangedRowNode))
|
||||||
Me.grd = grd
|
Me.grd = grd
|
||||||
Me.row = row
|
Me.dic = dic
|
||||||
Me.col = col
|
|
||||||
Me.beforeText = beforeText
|
|
||||||
Me.afterText = afterText
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Redo() Implements ICommand.Redo
|
Public Sub Redo() Implements ICommand.Redo
|
||||||
grd.Cell(row, col).Text = afterText
|
For Each row As Integer In dic.Keys
|
||||||
|
grd.UpdateGrid2(dic(row).AfterRowNode)
|
||||||
|
Next
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub Undo() Implements ICommand.Undo
|
Public Sub Undo() Implements ICommand.Undo
|
||||||
grd.Cell(row, col).Text = beforeText
|
|
||||||
|
For Each row As Integer In dic.Keys
|
||||||
|
grd.UpdateGrid2(dic(row).BeforeRowNode)
|
||||||
|
Next
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
Public Class TextChangedRowNode
|
||||||
|
|
||||||
|
Public Property BeforeRowNode As RowNode
|
||||||
|
|
||||||
|
Public Property AfterRowNode As RowNode
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|||||||
@@ -26,6 +26,18 @@
|
|||||||
''' <returns></returns>
|
''' <returns></returns>
|
||||||
Public Property Node() As RowNode
|
Public Property Node() As RowNode
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 修改前的节点
|
||||||
|
''' </summary>
|
||||||
|
''' <returns></returns>
|
||||||
|
Public Property BeforeNode() As RowNode
|
||||||
|
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 修改类型
|
||||||
|
''' </summary>
|
||||||
|
''' <returns></returns>
|
||||||
|
|
||||||
Public Property ChangeType() As RowNodeChangeType
|
Public Property ChangeType() As RowNodeChangeType
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|||||||
@@ -406,6 +406,12 @@ Namespace UTSModule.Station
|
|||||||
Dim cpNode As New RowNode
|
Dim cpNode As New RowNode
|
||||||
|
|
||||||
With cpNode
|
With cpNode
|
||||||
|
.RowListIndex = RowListIndex
|
||||||
|
|
||||||
|
.Pause = Pause
|
||||||
|
.ControlType = ControlType
|
||||||
|
.SaveToDb = SaveToDb
|
||||||
|
|
||||||
.RowType = RowType
|
.RowType = RowType
|
||||||
|
|
||||||
.Action = Action
|
.Action = Action
|
||||||
@@ -428,19 +434,44 @@ Namespace UTSModule.Station
|
|||||||
.Parameters.Add(param.Clone())
|
.Parameters.Add(param.Clone())
|
||||||
Next
|
Next
|
||||||
|
|
||||||
.RowNodes = New RowNodeCollection(cpNode)
|
'.RowNodes = New RowNodeCollection(cpNode)
|
||||||
.Children = New List(Of RowNode)()
|
'.Children = New List(Of RowNode)()
|
||||||
|
|
||||||
'todo:克隆功能待重写
|
''todo:克隆功能待重写
|
||||||
|
|
||||||
For Each child As RowNode In Children
|
'For Each child As RowNode In Children
|
||||||
.RowNodes.Add(child.Clone())
|
' .RowNodes.Add(child.Clone())
|
||||||
Next
|
'Next
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Return cpNode
|
Return cpNode
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Sub CopyFrom(node As RowNode)
|
||||||
|
With node
|
||||||
|
.RowListIndex = RowListIndex
|
||||||
|
|
||||||
|
Pause = .Pause
|
||||||
|
ControlType = .ControlType
|
||||||
|
SaveToDb = .SaveToDb
|
||||||
|
|
||||||
|
RowType = .RowType
|
||||||
|
Action = .Action
|
||||||
|
RecordName = .RecordName
|
||||||
|
Retry = .Retry
|
||||||
|
RetryInterval = .RetryInterval
|
||||||
|
[Label] = String.Copy(.Label)
|
||||||
|
Description = String.Copy(.Description)
|
||||||
|
ErrorCode = String.Copy(.ErrorCode)
|
||||||
|
ErrorMessage = String.Copy(.ErrorMessage)
|
||||||
|
CommandType = String.Copy(.CommandType)
|
||||||
|
Command = String.Copy(.Command)
|
||||||
|
Parameters.Clear()
|
||||||
|
For Each param As TestCmdParam In .Parameters
|
||||||
|
Parameters.Add(param.Clone())
|
||||||
|
Next
|
||||||
|
End With
|
||||||
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region "节点样式"
|
#Region "节点样式"
|
||||||
|
|||||||
@@ -140,15 +140,20 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
|
|
||||||
#Region "表格事件处理"
|
#Region "表格事件处理"
|
||||||
|
Private _isUpload As Boolean
|
||||||
|
Private _beforeNode As RowNode
|
||||||
|
|
||||||
Private Sub Grid_CellChange(sender As Object, e As CellChangeEventArgs)
|
Private Sub Grid_CellChange(sender As Object, e As CellChangeEventArgs)
|
||||||
If ActiveRowNode Is Nothing Then Return
|
If ActiveRowNode Is Nothing Then Return
|
||||||
|
|
||||||
If _cellChanged = GridCellChangedEnum.None Then _cellChanged = GridCellChangedEnum.RowNodeInfo
|
If _cellChanged = GridCellChangedEnum.None Then _cellChanged = GridCellChangedEnum.RowNodeInfo
|
||||||
If _cellChanged <> GridCellChangedEnum.RowNodeInfo Then Return
|
If _cellChanged <> GridCellChangedEnum.RowNodeInfo Then Return
|
||||||
|
|
||||||
|
If Not _isUpload Then _beforeNode = ActiveRowNode.Clone
|
||||||
|
_isUpload = True
|
||||||
|
|
||||||
If e.Col = ColNames.ColValue Then
|
If e.Col = ColNames.ColValue Then
|
||||||
Dim value As String = _grd.Cell(e.Row, e.Col).Text
|
Dim value As String = _grd.Cell(e.Row, e.Col).Text
|
||||||
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType
|
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
|
||||||
Select Case e.Row
|
Select Case e.Row
|
||||||
Case RowNames.Action
|
Case RowNames.Action
|
||||||
ActiveRowNode.Action = _grd.Cell(e.Row, e.Col).BooleanValue
|
ActiveRowNode.Action = _grd.Cell(e.Row, e.Col).BooleanValue
|
||||||
@@ -157,8 +162,55 @@ Namespace UTSModule.Station
|
|||||||
ActiveRowNode.Label = value
|
ActiveRowNode.Label = value
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Label
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Label
|
||||||
Case RowNames.CommandType
|
Case RowNames.CommandType
|
||||||
|
Dim cmdType As String = _grd.Cell(RowNames.CommandType, ColNames.ColValue).Text
|
||||||
|
If String.Compare(ActiveRowNode.CommandType, cmdType) <> 0 Then
|
||||||
|
ActiveRowNode.CommandType = cmdType
|
||||||
|
ActiveRowNode.Command = ""
|
||||||
|
ActiveRowNode.Parameters.Clear()
|
||||||
|
ActiveRowNode.Action = Not String.IsNullOrWhiteSpace(ActiveRowNode.Command)
|
||||||
|
CommandTypeChanged(ActiveRowNode)
|
||||||
|
End If
|
||||||
ActiveRowNode.CommandType = value
|
ActiveRowNode.CommandType = value
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
||||||
|
Case RowNames.ControlType
|
||||||
|
ActiveRowNode.ControlType = _grd.Cell(RowNames.ControlType, ColNames.ColValue).Text
|
||||||
|
Case RowNames.Command
|
||||||
|
Dim cmdName As String = _grd.Cell(RowNames.Command, ColNames.ColValue).Text
|
||||||
|
If String.Compare(ActiveRowNode.Command, cmdName) <> 0 Then
|
||||||
|
ActiveRowNode.Command = cmdName
|
||||||
|
ActiveRowNode.Parameters.Clear()
|
||||||
|
ActiveRowNode.Action = Not String.IsNullOrWhiteSpace(ActiveRowNode.Command)
|
||||||
|
|
||||||
|
'拷贝所有参数到当前节点信息中
|
||||||
|
Dim planCommand As TestCmd = _testCmdManager.GetCommand(ActiveRowNode.CommandType, ActiveRowNode.Command)
|
||||||
|
If planCommand Is Nothing Then Return
|
||||||
|
For Each cmdParam As TestCmdParam In planCommand.Params
|
||||||
|
ActiveRowNode.Parameters.Add(cmdParam.Clone())
|
||||||
|
Next
|
||||||
|
|
||||||
|
'更新行节点信息表格内容
|
||||||
|
CommandChanged(ActiveRowNode)
|
||||||
|
End If
|
||||||
|
|
||||||
|
ActiveRowNode.Command = value
|
||||||
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
||||||
|
Case RowNames.ErrorCode
|
||||||
|
Dim codeMsg As String = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text
|
||||||
|
Dim errCode As String = ErrCodeManager.CodeMsgToCode(codeMsg)
|
||||||
|
If String.Compare(ActiveRowNode.ErrorCode, errCode) <> 0 Then
|
||||||
|
ActiveRowNode.ErrorCode = errCode
|
||||||
|
ActiveRowNode.ErrorMessage = _errCodeManager(ActiveRowNode.ErrorCode).Msg
|
||||||
|
_grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text = errCode
|
||||||
|
_grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor = _errCodeManager(ActiveRowNode.ErrorCode).Color
|
||||||
|
_grd.Cell(RowNames.ErrorMessage, ColNames.ColValue).BackColor = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor
|
||||||
|
ErrCodeChanged(ActiveRowNode)
|
||||||
|
End If
|
||||||
|
ActiveRowNode.ErrorCode = value
|
||||||
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
||||||
|
Case RowNames.ErrorMessage
|
||||||
|
ActiveRowNode.ErrorMessage = value
|
||||||
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
||||||
|
|
||||||
Case RowNames.RowType
|
Case RowNames.RowType
|
||||||
ActiveRowNode.RowType = CType([Enum].Parse(GetType(RowNode.RowTypeEnum), value), RowNode.RowTypeEnum)
|
ActiveRowNode.RowType = CType([Enum].Parse(GetType(RowNode.RowTypeEnum), value), RowNode.RowTypeEnum)
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RowType
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RowType
|
||||||
@@ -177,18 +229,7 @@ Namespace UTSModule.Station
|
|||||||
Case RowNames.RetryInterval
|
Case RowNames.RetryInterval
|
||||||
ActiveRowNode.RetryInterval = CInt(value)
|
ActiveRowNode.RetryInterval = CInt(value)
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
||||||
Case RowNames.ErrorCode
|
|
||||||
ActiveRowNode.ErrorCode = value
|
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
|
||||||
Case RowNames.ErrorMessage
|
|
||||||
ActiveRowNode.ErrorMessage = value
|
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
|
||||||
Case RowNames.CommandType
|
|
||||||
ActiveRowNode.CommandType = value
|
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
|
||||||
Case RowNames.Command
|
|
||||||
ActiveRowNode.Command = value
|
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
|
||||||
Case >= RowNames.Parameters
|
Case >= RowNames.Parameters
|
||||||
If e.Row - RowNames.Parameters > ActiveRowNode.Parameters.Count - 1 Then Return
|
If e.Row - RowNames.Parameters > ActiveRowNode.Parameters.Count - 1 Then Return
|
||||||
ActiveRowNode.Parameters(e.Row - RowNames.Parameters).Value = value
|
ActiveRowNode.Parameters(e.Row - RowNames.Parameters).Value = value
|
||||||
@@ -197,13 +238,16 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
If changeType = RowNodeChangedEventArgs.RowNodeChangeType.None Then Return
|
If changeType = RowNodeChangedEventArgs.RowNodeChangeType.None Then Return
|
||||||
|
|
||||||
Dim args As New RowNodeChangedEventArgs With {
|
If _beforeNode IsNot Nothing Then
|
||||||
.Node = ActiveRowNode,
|
Dim args As New RowNodeChangedEventArgs With {
|
||||||
.ChangeType = changeType
|
.Node = ActiveRowNode,
|
||||||
}
|
.BeforeNode = _beforeNode,
|
||||||
RaiseEvent RowNodeTextChanged(sender, args)
|
.ChangeType = changeType
|
||||||
|
}
|
||||||
|
RaiseEvent RowNodeTextChanged(sender, args)
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
_isUpload = False
|
||||||
_cellChanged = GridCellChangedEnum.None
|
_cellChanged = GridCellChangedEnum.None
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -218,6 +262,9 @@ Namespace UTSModule.Station
|
|||||||
_grd.Cell(row, ColNames.ColName).Text = node.Parameters(idx).Desc
|
_grd.Cell(row, ColNames.ColName).Text = node.Parameters(idx).Desc
|
||||||
_grd.Cell(row, ColNames.ColValue).Text = node.Parameters(idx).Value
|
_grd.Cell(row, ColNames.ColValue).Text = node.Parameters(idx).Value
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
_grd.Range(RowNames.LineNumber, ColNames.ColName, _grd.Rows - 1, ColNames.ColName).BackColor = Color.LightGray
|
||||||
|
_grd.Range(RowNames.LineNumber, ColNames.ColName, _grd.Rows - 1, ColNames.ColName).Alignment = AlignmentEnum.RightCenter
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -227,6 +274,9 @@ Namespace UTSModule.Station
|
|||||||
_grd.Cell(RowNames.Command, ColNames.ColValue).Text = node.Command
|
_grd.Cell(RowNames.Command, ColNames.ColValue).Text = node.Command
|
||||||
_grd.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
_grd.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
||||||
_grd.Cell(RowNames.Parameters, ColNames.ColValue).Text = ""
|
_grd.Cell(RowNames.Parameters, ColNames.ColValue).Text = ""
|
||||||
|
|
||||||
|
_grd.Range(RowNames.LineNumber, ColNames.ColName, _grd.Rows - 1, ColNames.ColName).BackColor = Color.LightGray
|
||||||
|
_grd.Range(RowNames.LineNumber, ColNames.ColName, _grd.Rows - 1, ColNames.ColName).Alignment = AlignmentEnum.RightCenter
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ErrCodeChanged(node As RowNode)
|
Private Sub ErrCodeChanged(node As RowNode)
|
||||||
@@ -239,47 +289,62 @@ Namespace UTSModule.Station
|
|||||||
''' <param name="sender"></param>
|
''' <param name="sender"></param>
|
||||||
''' <param name="e"></param>
|
''' <param name="e"></param>
|
||||||
Private Sub Grid_ComboClick(sender As Object, e As ComboClickEventArgs)
|
Private Sub Grid_ComboClick(sender As Object, e As ComboClickEventArgs)
|
||||||
If ActiveRowNode Is Nothing Then Return
|
'If ActiveRowNode Is Nothing Then Return
|
||||||
Select Case _grdSingleRowDropRow
|
'Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||||
Case RowNames.ControlType
|
'Dim beforeNode As RowNode = ActiveRowNode.Clone
|
||||||
ActiveRowNode.ControlType = _grd.Cell(RowNames.ControlType, ColNames.ColValue).Text
|
'Select Case _grdSingleRowDropRow
|
||||||
Case RowNames.CommandType
|
' Case RowNames.ControlType
|
||||||
'如果命令类型变化则,清空命令
|
' ActiveRowNode.ControlType = _grd.Cell(RowNames.ControlType, ColNames.ColValue).Text
|
||||||
Dim cmdType As String = _grd.Cell(RowNames.CommandType, ColNames.ColValue).Text
|
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.ControlType
|
||||||
If String.Compare(ActiveRowNode.CommandType, cmdType) <> 0 Then
|
' Case RowNames.CommandType
|
||||||
ActiveRowNode.CommandType = cmdType
|
' '如果命令类型变化则,清空命令
|
||||||
ActiveRowNode.Command = ""
|
' Dim cmdType As String = _grd.Cell(RowNames.CommandType, ColNames.ColValue).Text
|
||||||
ActiveRowNode.Parameters.Clear()
|
' If String.Compare(ActiveRowNode.CommandType, cmdType) <> 0 Then
|
||||||
CommandTypeChanged(ActiveRowNode)
|
' ActiveRowNode.CommandType = cmdType
|
||||||
End If
|
' ActiveRowNode.Command = ""
|
||||||
Case RowNames.Command
|
' ActiveRowNode.Parameters.Clear()
|
||||||
Dim cmdName As String = _grd.Cell(RowNames.Command, ColNames.ColValue).Text
|
' CommandTypeChanged(ActiveRowNode)
|
||||||
If String.Compare(ActiveRowNode.Command, cmdName) <> 0 Then
|
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
||||||
ActiveRowNode.Command = cmdName
|
' End If
|
||||||
ActiveRowNode.Parameters.Clear()
|
' Case RowNames.Command
|
||||||
|
' Dim cmdName As String = _grd.Cell(RowNames.Command, ColNames.ColValue).Text
|
||||||
|
' If String.Compare(ActiveRowNode.Command, cmdName) <> 0 Then
|
||||||
|
' ActiveRowNode.Command = cmdName
|
||||||
|
' ActiveRowNode.Parameters.Clear()
|
||||||
|
|
||||||
'拷贝所有参数到当前节点信息中
|
' '拷贝所有参数到当前节点信息中
|
||||||
Dim planCommand As TestCmd = _testCmdManager.GetCommand(ActiveRowNode.CommandType, ActiveRowNode.Command)
|
' Dim planCommand As TestCmd = _testCmdManager.GetCommand(ActiveRowNode.CommandType, ActiveRowNode.Command)
|
||||||
If planCommand Is Nothing Then Return
|
' If planCommand Is Nothing Then Return
|
||||||
For Each cmdParam As TestCmdParam In planCommand.Params
|
' For Each cmdParam As TestCmdParam In planCommand.Params
|
||||||
ActiveRowNode.Parameters.Add(cmdParam.Clone())
|
' ActiveRowNode.Parameters.Add(cmdParam.Clone())
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
'更新行节点信息表格内容
|
' '更新行节点信息表格内容
|
||||||
CommandChanged(ActiveRowNode)
|
' CommandChanged(ActiveRowNode)
|
||||||
End If
|
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
||||||
Case RowNames.ErrorCode
|
' End If
|
||||||
Dim codeMsg As String = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text
|
' Case RowNames.ErrorCode
|
||||||
Dim errCode As String = ErrCodeManager.CodeMsgToCode(codeMsg)
|
' Dim codeMsg As String = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text
|
||||||
If String.Compare(ActiveRowNode.ErrorCode, errCode) <> 0 Then
|
' Dim errCode As String = ErrCodeManager.CodeMsgToCode(codeMsg)
|
||||||
ActiveRowNode.ErrorCode = errCode
|
' If String.Compare(ActiveRowNode.ErrorCode, errCode) <> 0 Then
|
||||||
ActiveRowNode.ErrorMessage = _errCodeManager(ActiveRowNode.ErrorCode).Msg
|
' ActiveRowNode.ErrorCode = errCode
|
||||||
_grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text = errCode
|
' ActiveRowNode.ErrorMessage = _errCodeManager(ActiveRowNode.ErrorCode).Msg
|
||||||
_grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor = _errCodeManager(ActiveRowNode.ErrorCode).Color
|
' _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).Text = errCode
|
||||||
_grd.Cell(RowNames.ErrorMessage, ColNames.ColValue).BackColor = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor
|
' _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor = _errCodeManager(ActiveRowNode.ErrorCode).Color
|
||||||
ErrCodeChanged(ActiveRowNode)
|
' _grd.Cell(RowNames.ErrorMessage, ColNames.ColValue).BackColor = _grd.Cell(RowNames.ErrorCode, ColNames.ColValue).BackColor
|
||||||
End If
|
' ErrCodeChanged(ActiveRowNode)
|
||||||
End Select
|
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
||||||
|
' End If
|
||||||
|
'End Select
|
||||||
|
|
||||||
|
'If changeType = RowNodeChangedEventArgs.RowNodeChangeType.None Then Return
|
||||||
|
|
||||||
|
'Dim args As New RowNodeChangedEventArgs With {
|
||||||
|
' .Node = ActiveRowNode,
|
||||||
|
' .BeforeNode = beforeNode,
|
||||||
|
' .ChangeType = changeType
|
||||||
|
'}
|
||||||
|
'RaiseEvent RowNodeTextChanged(sender, args)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
@@ -316,9 +381,9 @@ Namespace UTSModule.Station
|
|||||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Control)
|
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Control)
|
||||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Flow)
|
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Flow)
|
||||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Module)
|
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Module)
|
||||||
Case RowNames.Parameters'特殊处理Call命令
|
Case RowNames.Parameters '特殊处理Call命令
|
||||||
_grd.ComboBox(0).Items.Clear()
|
_grd.ComboBox(0).Items.Clear()
|
||||||
_grd.ComboBox(0).Items.Addrange(UTS_Core.UTSModule.Test.UtsTester.CreateTester.GetCustomModuleName())
|
_grd.ComboBox(0).Items.AddRange(UTS_Core.UTSModule.Test.UtsTester.CreateTester.GetCustomModuleName())
|
||||||
End Select
|
End Select
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -446,7 +511,7 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
Else
|
Else
|
||||||
.Rows = RowNames.Parameters + 1
|
.Rows = RowNames.Parameters + 1
|
||||||
|
|
||||||
.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
||||||
.Cell(RowNames.Parameters, col).CellType = CellTypeEnum.TextBox
|
.Cell(RowNames.Parameters, col).CellType = CellTypeEnum.TextBox
|
||||||
.Cell(RowNames.Parameters, col).Text = ""
|
.Cell(RowNames.Parameters, col).Text = ""
|
||||||
|
|||||||
@@ -64,7 +64,19 @@ Namespace UTSModule.Station
|
|||||||
''' <summary>节点执行可撤销事件</summary>
|
''' <summary>节点执行可撤销事件</summary>
|
||||||
Public Event PlanGridCommandChanged(ByVal sender As Object, ByVal e As EventArgs)
|
Public Event PlanGridCommandChanged(ByVal sender As Object, ByVal e As EventArgs)
|
||||||
|
|
||||||
|
''' <summary>粘贴操作计时器</summary>
|
||||||
|
Private WithEvents _userActionTimer As New Timer()
|
||||||
|
|
||||||
|
''' <summary>计时器超时时间</summary>
|
||||||
|
Private Const UserActionTimeout As Integer = 300 ' ms
|
||||||
|
|
||||||
|
Private _dicTextChangedRowNode As New Dictionary(Of Integer, TextChangedRowNode) '记录文本修改的行号和节点对象
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 构造函数
|
||||||
|
''' </summary>
|
||||||
|
|
||||||
Sub New()
|
Sub New()
|
||||||
NodeStartRow = 1
|
NodeStartRow = 1
|
||||||
@@ -77,8 +89,58 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
_testCmdManager = TestCmdManager.CreateManager()
|
_testCmdManager = TestCmdManager.CreateManager()
|
||||||
_errCodeManager = ErrCodeManager.CreateManager()
|
_errCodeManager = ErrCodeManager.CreateManager()
|
||||||
|
|
||||||
|
_userActionTimer.Interval = UserActionTimeout
|
||||||
|
_userActionTimer.Stop()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 表格内容改变处理事件
|
||||||
|
''' </summary>
|
||||||
|
Private Sub OnUserAction(node As RowNode)
|
||||||
|
If CommandManager.IsRuning Then Return
|
||||||
|
|
||||||
|
' 每次用户操作都重置计时器
|
||||||
|
_userActionTimer.Stop()
|
||||||
|
_userActionTimer.Start()
|
||||||
|
|
||||||
|
'记录当前活动节点
|
||||||
|
If Not _dicTextChangedRowNode.ContainsKey(node.RowListIndex) Then
|
||||||
|
_dicTextChangedRowNode.Add(node.RowListIndex, New TextChangedRowNode With {.BeforeRowNode = node.Clone})
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnUserActionEnd(node As RowNode)
|
||||||
|
If CommandManager.IsRuning Then Return
|
||||||
|
|
||||||
|
'记录当前活动节点
|
||||||
|
If _dicTextChangedRowNode.ContainsKey(node.RowListIndex) Then
|
||||||
|
_dicTextChangedRowNode(node.RowListIndex).AfterRowNode = node.Clone
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' 粘贴操作计时器超时处理事件
|
||||||
|
''' </summary>
|
||||||
|
''' <param name="sender"></param>
|
||||||
|
''' <param name="e"></param>
|
||||||
|
Private Sub _userActionTimer_Tick(sender As Object, e As EventArgs) Handles _userActionTimer.Tick
|
||||||
|
_userActionTimer.Stop()
|
||||||
|
|
||||||
|
OnUserActionTimeout()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnUserActionTimeout()
|
||||||
|
If CommandManager.IsRuning = False Then
|
||||||
|
CommandManager.AddUndoCommand(New GridNodeTextChangedCommand(Me, _dicTextChangedRowNode))
|
||||||
|
|
||||||
|
RaiseEvent PlanGridCommandChanged(Nothing, Nothing)
|
||||||
|
End If
|
||||||
|
|
||||||
|
_dicTextChangedRowNode = New Dictionary(Of Integer, TextChangedRowNode)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' 屏蔽表格引发自定义事件,避免行节点内容修改,todo:暂未完成
|
''' 屏蔽表格引发自定义事件,避免行节点内容修改,todo:暂未完成
|
||||||
''' </summary>
|
''' </summary>
|
||||||
@@ -474,7 +536,7 @@ Namespace UTSModule.Station
|
|||||||
Return Color.DarkSlateGray
|
Return Color.DarkSlateGray
|
||||||
End If
|
End If
|
||||||
Case "ComPort"
|
Case "ComPort"
|
||||||
Return Color.DarkCyan
|
Return Color.Olive
|
||||||
Case "UtsComPort"
|
Case "UtsComPort"
|
||||||
Return Color.SeaGreen
|
Return Color.SeaGreen
|
||||||
Case "Converter"
|
Case "Converter"
|
||||||
@@ -852,21 +914,26 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
Private Function ParamsToString(params As List(Of TestCmdParam)) As String
|
Private Function ParamsToString(params As List(Of TestCmdParam)) As String
|
||||||
Return String.Join($" {_paramChar} ", params.Select(Function(p) p.Value))
|
Return String.Join($" {_paramChar} ", params.Select(Function(p) p.Value))
|
||||||
|
|
||||||
'Dim result As New StringBuilder
|
|
||||||
|
|
||||||
'For i As Integer = 0 To params.Count - 1
|
|
||||||
' If i = 0 Then
|
|
||||||
' result.Append(params(i).Value)
|
|
||||||
' Else
|
|
||||||
' result.Append($" {_paramChar} {params(i).Value}")
|
|
||||||
' End If
|
|
||||||
'Next
|
|
||||||
|
|
||||||
'Return result.ToString()
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Sub UpdateGrid2(node As RowNode)
|
||||||
|
Dim row As Integer = node.RowListIndex
|
||||||
|
Dim rowNode As RowNode = _headNode.RowList(row)
|
||||||
|
rowNode.CopyFrom(node)
|
||||||
|
|
||||||
|
_uploading = True
|
||||||
|
UpdateGrid(_grd, row, rowNode)
|
||||||
|
_uploading = False
|
||||||
|
|
||||||
|
'触发事件
|
||||||
|
If SkipEvent Then Return
|
||||||
|
Dim event2 As New PlanNodeSelectChangedEventArgs With {.Node = node,
|
||||||
|
.LineNumber = row,
|
||||||
|
.LineActionEn = node.Action
|
||||||
|
}
|
||||||
|
|
||||||
|
RaiseEvent PlanNodeSelectChanged(_grd, event2)
|
||||||
|
End Sub
|
||||||
|
|
||||||
Public Sub UpdateGrid(grd As Grid, row As Integer, node As RowNode)
|
Public Sub UpdateGrid(grd As Grid, row As Integer, node As RowNode)
|
||||||
Dim rowCmdType As String
|
Dim rowCmdType As String
|
||||||
@@ -1012,13 +1079,13 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
|
|
||||||
Private Sub CommandChanged(node As RowNode)
|
Private Sub CommandChanged(node As RowNode)
|
||||||
_grd.Cell(node.RowListIndex, ColNames.Parameters).Text = ParamsToString(node.Parameters)
|
|
||||||
_grd.Cell(node.RowListIndex, ColNames.Action).Text = IIf(node.Action, "1", "0").ToString
|
_grd.Cell(node.RowListIndex, ColNames.Action).Text = IIf(node.Action, "1", "0").ToString
|
||||||
|
_grd.Cell(node.RowListIndex, ColNames.Parameters).Text = ParamsToString(node.Parameters)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CommandTypeChanged(node As RowNode)
|
Private Sub CommandTypeChanged(node As RowNode)
|
||||||
_grd.Cell(node.RowListIndex, ColNames.Command).Text = " "
|
_grd.Cell(node.RowListIndex, ColNames.Action).Text = IIf(node.Action, "1", "0").ToString
|
||||||
|
_grd.Cell(node.RowListIndex, ColNames.Command).Text = node.Command
|
||||||
_grd.Cell(node.RowListIndex, ColNames.Parameters).Text = ParamsToString(node.Parameters)
|
_grd.Cell(node.RowListIndex, ColNames.Parameters).Text = ParamsToString(node.Parameters)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1055,12 +1122,11 @@ Namespace UTSModule.Station
|
|||||||
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType
|
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||||
|
|
||||||
Dim cmd As ICommand
|
Dim beforeNode As RowNode = node.Clone()
|
||||||
|
OnUserAction(beforeNode)
|
||||||
|
|
||||||
Select Case e.Col
|
Select Case e.Col
|
||||||
Case ColNames.[Pause]
|
Case ColNames.[Pause]
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Pause.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.[Pause] = _grd.Cell(e.Row, e.Col).BooleanValue
|
node.[Pause] = _grd.Cell(e.Row, e.Col).BooleanValue
|
||||||
If node.[Pause] Then
|
If node.[Pause] Then
|
||||||
_grd.Cell(e.Row, e.Col).BackColor = Color.Red
|
_grd.Cell(e.Row, e.Col).BackColor = Color.Red
|
||||||
@@ -1068,8 +1134,6 @@ Namespace UTSModule.Station
|
|||||||
_grd.Cell(e.Row, e.Col).BackColor = Color.White
|
_grd.Cell(e.Row, e.Col).BackColor = Color.White
|
||||||
End If
|
End If
|
||||||
Case ColNames.Action
|
Case ColNames.Action
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Action.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.Action = _grd.Cell(e.Row, e.Col).BooleanValue
|
node.Action = _grd.Cell(e.Row, e.Col).BooleanValue
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Action
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Action
|
||||||
If node.RowType = RowNode.RowTypeEnum.FixedModule Then
|
If node.RowType = RowNode.RowTypeEnum.FixedModule Then
|
||||||
@@ -1079,8 +1143,6 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
NodeActionChanged(node)
|
NodeActionChanged(node)
|
||||||
Case ColNames.Description
|
Case ColNames.Description
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Description.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.Description = _grd.Cell(e.Row, e.Col).Text
|
node.Description = _grd.Cell(e.Row, e.Col).Text
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Description
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Description
|
||||||
Case ColNames.[Label]
|
Case ColNames.[Label]
|
||||||
@@ -1093,7 +1155,6 @@ Namespace UTSModule.Station
|
|||||||
_uploading = False
|
_uploading = False
|
||||||
Return
|
Return
|
||||||
Else
|
Else
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Label.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
If Not String.IsNullOrEmpty(node.Label) Then RemoveLabelName(node.Label) '移出之前记录标签名称
|
If Not String.IsNullOrEmpty(node.Label) Then RemoveLabelName(node.Label) '移出之前记录标签名称
|
||||||
|
|
||||||
node.Label = labelName
|
node.Label = labelName
|
||||||
@@ -1107,8 +1168,6 @@ Namespace UTSModule.Station
|
|||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Label
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Label
|
||||||
End If
|
End If
|
||||||
Case ColNames.ControlType
|
Case ColNames.ControlType
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.ControlType.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.ControlType = _grd.Cell(e.Row, e.Col).Text
|
node.ControlType = _grd.Cell(e.Row, e.Col).Text
|
||||||
If String.IsNullOrWhiteSpace(node.ControlType) Then
|
If String.IsNullOrWhiteSpace(node.ControlType) Then
|
||||||
node.RowType = RowNode.RowTypeEnum.Flow
|
node.RowType = RowNode.RowTypeEnum.Flow
|
||||||
@@ -1119,11 +1178,11 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
Case ColNames.CommandType
|
Case ColNames.CommandType
|
||||||
If String.Compare(node.CommandType, _grd.Cell(e.Row, e.Col).Text) <> 0 Then
|
If String.Compare(node.CommandType, _grd.Cell(e.Row, e.Col).Text) <> 0 Then
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.CommandType.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.CommandType = _grd.Cell(e.Row, e.Col).Text
|
node.CommandType = _grd.Cell(e.Row, e.Col).Text
|
||||||
node.Command = ""
|
node.Command = ""
|
||||||
node.Parameters.Clear()
|
node.Parameters.Clear()
|
||||||
|
node.Action = Not String.IsNullOrWhiteSpace(node.Command)
|
||||||
CommandTypeChanged(node)
|
CommandTypeChanged(node)
|
||||||
|
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
||||||
@@ -1132,17 +1191,9 @@ Namespace UTSModule.Station
|
|||||||
NodeActionChanged(node)
|
NodeActionChanged(node)
|
||||||
Case ColNames.Command
|
Case ColNames.Command
|
||||||
If node.Command <> _grd.Cell(e.Row, e.Col).Text Then
|
If node.Command <> _grd.Cell(e.Row, e.Col).Text Then
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Command.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.Command = _grd.Cell(e.Row, e.Col).Text
|
node.Command = _grd.Cell(e.Row, e.Col).Text
|
||||||
|
|
||||||
If String.IsNullOrWhiteSpace(node.Command) Then
|
|
||||||
node.Action = False
|
|
||||||
Else
|
|
||||||
node.Action = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
node.Parameters.Clear()
|
node.Parameters.Clear()
|
||||||
|
node.Action = Not String.IsNullOrWhiteSpace(node.Command)
|
||||||
|
|
||||||
'拷贝所有参数到当前节点信息中
|
'拷贝所有参数到当前节点信息中
|
||||||
Dim planCommand As TestCmd = _testCmdManager.GetCommand(node.CommandType, node.Command)
|
Dim planCommand As TestCmd = _testCmdManager.GetCommand(node.CommandType, node.Command)
|
||||||
@@ -1155,9 +1206,6 @@ Namespace UTSModule.Station
|
|||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
||||||
End If
|
End If
|
||||||
Case ColNames.Parameters
|
Case ColNames.Parameters
|
||||||
Dim pStr As String = ParamsToString(node.Parameters)
|
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, pStr, _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
Dim str() As String = _grd.Cell(e.Row, e.Col).Text.Split(New Char() {_paramChar})
|
Dim str() As String = _grd.Cell(e.Row, e.Col).Text.Split(New Char() {_paramChar})
|
||||||
|
|
||||||
For i As Integer = 0 To node.Parameters.Count - 1
|
For i As Integer = 0 To node.Parameters.Count - 1
|
||||||
@@ -1169,8 +1217,6 @@ Namespace UTSModule.Station
|
|||||||
Next
|
Next
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Parameters
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Parameters
|
||||||
Case ColNames.SaveToDb
|
Case ColNames.SaveToDb
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.SaveToDb.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.SaveToDb = _grd.Cell(e.Row, e.Col).BooleanValue
|
node.SaveToDb = _grd.Cell(e.Row, e.Col).BooleanValue
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.SaveToDb
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.SaveToDb
|
||||||
If node.RowType = RowNode.RowTypeEnum.FixedModule Then
|
If node.RowType = RowNode.RowTypeEnum.FixedModule Then
|
||||||
@@ -1189,7 +1235,6 @@ Namespace UTSModule.Station
|
|||||||
_uploading = False
|
_uploading = False
|
||||||
Return
|
Return
|
||||||
Else
|
Else
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.RecordName.ToString(), recordName)
|
|
||||||
If IsExistRecordName(node.RecordName) Then RemoveRecordName(node.RecordName) '移出之前记录名称
|
If IsExistRecordName(node.RecordName) Then RemoveRecordName(node.RecordName) '移出之前记录名称
|
||||||
|
|
||||||
node.RecordName = recordName
|
node.RecordName = recordName
|
||||||
@@ -1199,31 +1244,21 @@ Namespace UTSModule.Station
|
|||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RecordName
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RecordName
|
||||||
End If
|
End If
|
||||||
Case ColNames.Retry
|
Case ColNames.Retry
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.Retry.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.Retry = _grd.Cell(e.Row, e.Col).IntegerValue
|
node.Retry = _grd.Cell(e.Row, e.Col).IntegerValue
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Retry
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Retry
|
||||||
Case ColNames.RetryInterval
|
Case ColNames.RetryInterval
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.RetryInterval.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.RetryInterval = _grd.Cell(e.Row, e.Col).IntegerValue
|
node.RetryInterval = _grd.Cell(e.Row, e.Col).IntegerValue
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
||||||
Case ColNames.ErrorCode
|
Case ColNames.ErrorCode
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.ErrorCode.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.ErrorCode = _grd.Cell(e.Row, e.Col).Text
|
node.ErrorCode = _grd.Cell(e.Row, e.Col).Text
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
||||||
Case ColNames.ErrorMessage
|
Case ColNames.ErrorMessage
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, e.Row, e.Col, node.ErrorMessage.ToString(), _grd.Cell(e.Row, e.Col).Text)
|
|
||||||
|
|
||||||
node.ErrorMessage = _grd.Cell(e.Row, e.Col).Text
|
node.ErrorMessage = _grd.Cell(e.Row, e.Col).Text
|
||||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
changeType = RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
If CommandManager.IsRuning = False AndAlso cmd IsNot Nothing Then
|
OnUserActionEnd(node)
|
||||||
CommandManager.RunCommand(cmd)
|
|
||||||
RaiseEvent PlanGridCommandChanged(Nothing, Nothing)
|
|
||||||
End If
|
|
||||||
|
|
||||||
'触发事件
|
'触发事件
|
||||||
If SkipEvent Then Return
|
If SkipEvent Then Return
|
||||||
@@ -1236,6 +1271,7 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
Dim args As New RowNodeChangedEventArgs With {
|
Dim args As New RowNodeChangedEventArgs With {
|
||||||
.Node = node,
|
.Node = node,
|
||||||
|
.BeforeNode = beforeNode,
|
||||||
.ChangeType = changeType
|
.ChangeType = changeType
|
||||||
}
|
}
|
||||||
RaiseEvent RowNodeTextChanged(sender, args)
|
RaiseEvent RowNodeTextChanged(sender, args)
|
||||||
@@ -1533,8 +1569,10 @@ Namespace UTSModule.Station
|
|||||||
Dim startNode As RowNode = _headNode.RowList(startMoveRow - _drawStartRow + 1)
|
Dim startNode As RowNode = _headNode.RowList(startMoveRow - _drawStartRow + 1)
|
||||||
For i As Integer = 1 To rows
|
For i As Integer = 1 To rows
|
||||||
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
||||||
If node.RowLever > startNode.RowLever Then Continue For
|
If startNode.RowLever <> node.RowLever Then
|
||||||
If node.RowLever < startNode.RowLever Then Exit For
|
MsgBox("请选择同一级别节点再尝试此操作") '非同级别节点不移动
|
||||||
|
Return
|
||||||
|
End If
|
||||||
nodes.Add(node)
|
nodes.Add(node)
|
||||||
Next
|
Next
|
||||||
|
|
||||||
@@ -1599,9 +1637,18 @@ Namespace UTSModule.Station
|
|||||||
|
|
||||||
Dim startNode As RowNode = _headNode.RowList(startMoveRow - _drawStartRow + 1)
|
Dim startNode As RowNode = _headNode.RowList(startMoveRow - _drawStartRow + 1)
|
||||||
Dim prevNode As RowNode = startNode.PrevNode
|
Dim prevNode As RowNode = startNode.PrevNode
|
||||||
|
|
||||||
If prevNode Is Nothing Then Return
|
If prevNode Is Nothing Then Return
|
||||||
|
|
||||||
|
Dim node As RowNode
|
||||||
|
For i As Integer = 2 To moveRows
|
||||||
|
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
||||||
|
If startNode.RowLever <> node.RowLever Then
|
||||||
|
MsgBox("请选择同一级别节点再尝试此操作") '非同级别节点不移动
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
Dim moveEndRow As Integer = prevNode.RowListIndex
|
Dim moveEndRow As Integer = prevNode.RowListIndex
|
||||||
Dim cmd As New GridNodeMoveUpCommand(Me, startMoveRow, moveRows, moveEndRow)
|
Dim cmd As New GridNodeMoveUpCommand(Me, startMoveRow, moveRows, moveEndRow)
|
||||||
CommandManager.RunCommand(cmd) '添加到撤销堆栈执行
|
CommandManager.RunCommand(cmd) '添加到撤销堆栈执行
|
||||||
@@ -1612,10 +1659,20 @@ Namespace UTSModule.Station
|
|||||||
Public Sub NodeMoveDown(startMoveRow As Integer, moveRows As Integer)
|
Public Sub NodeMoveDown(startMoveRow As Integer, moveRows As Integer)
|
||||||
If _headNode Is Nothing Then Return
|
If _headNode Is Nothing Then Return
|
||||||
|
|
||||||
|
Dim startNode As RowNode = _headNode.RowList(startMoveRow - _drawStartRow + 1)
|
||||||
Dim endNode As RowNode = _headNode.RowList(startMoveRow + moveRows - _drawStartRow)
|
Dim endNode As RowNode = _headNode.RowList(startMoveRow + moveRows - _drawStartRow)
|
||||||
Dim nextNode As RowNode = endNode.NextNode
|
Dim nextNode As RowNode = endNode.NextNode
|
||||||
If nextNode Is Nothing Then Return
|
If nextNode Is Nothing Then Return
|
||||||
|
|
||||||
|
Dim node As RowNode
|
||||||
|
For i As Integer = 2 To moveRows
|
||||||
|
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
||||||
|
If startNode.RowLever <> node.RowLever Then
|
||||||
|
MsgBox("请选择同一级别节点再尝试此操作") '非同级别节点不移动
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
Dim moveEndRow As Integer = startMoveRow + nextNode.AllChildCount + 1
|
Dim moveEndRow As Integer = startMoveRow + nextNode.AllChildCount + 1
|
||||||
Dim cmd As New GridNodeMoveDownCommand(Me, startMoveRow, moveRows, moveEndRow)
|
Dim cmd As New GridNodeMoveDownCommand(Me, startMoveRow, moveRows, moveEndRow)
|
||||||
CommandManager.RunCommand(cmd) '添加到撤销堆栈执行
|
CommandManager.RunCommand(cmd) '添加到撤销堆栈执行
|
||||||
@@ -1782,8 +1839,10 @@ Namespace UTSModule.Station
|
|||||||
Dim moveEndRow As Integer = startNode.ParentNode.RowListIndex + startNode.ParentNode.AllChildCount + 1
|
Dim moveEndRow As Integer = startNode.ParentNode.RowListIndex + startNode.ParentNode.AllChildCount + 1
|
||||||
For i As Integer = 1 To moveRows
|
For i As Integer = 1 To moveRows
|
||||||
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
||||||
If node.RowLever < startNode.RowLever Then Exit For '高于起始节点级别不移动
|
If startNode.RowLever <> node.RowLever Then
|
||||||
If node.RowLever > startNode.RowLever Then Continue For
|
MsgBox("请选择同一级别节点再尝试此操作") '非同级别节点不移动
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
|
||||||
moveEndRow -= (node.AllChildCount + 1)
|
moveEndRow -= (node.AllChildCount + 1)
|
||||||
Next
|
Next
|
||||||
@@ -1840,6 +1899,15 @@ Namespace UTSModule.Station
|
|||||||
If startNode.RowLever < 1 Then Return '固定节点不移动
|
If startNode.RowLever < 1 Then Return '固定节点不移动
|
||||||
If startNode.PrevNode Is Nothing Then Return '没有上一级节点
|
If startNode.PrevNode Is Nothing Then Return '没有上一级节点
|
||||||
|
|
||||||
|
Dim node As RowNode
|
||||||
|
For i As Integer = 2 To moveRows
|
||||||
|
node = _headNode.RowList(startMoveRow - _drawStartRow + i)
|
||||||
|
If startNode.RowLever <> node.RowLever Then
|
||||||
|
MsgBox("请选择同一级别节点再尝试此操作") '非同级别节点不移动
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
Dim moveRightNodeIndex As Integer = startNode.PrevNode.Children.Count
|
Dim moveRightNodeIndex As Integer = startNode.PrevNode.Children.Count
|
||||||
Dim moveEndRow As Integer = startNode.PrevNode.RowListIndex + startNode.PrevNode.AllChildCount + 1
|
Dim moveEndRow As Integer = startNode.PrevNode.RowListIndex + startNode.PrevNode.AllChildCount + 1
|
||||||
|
|
||||||
@@ -1900,53 +1968,25 @@ Namespace UTSModule.Station
|
|||||||
With _grd
|
With _grd
|
||||||
Select Case e.ChangeType
|
Select Case e.ChangeType
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Action
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Action
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Action, .Cell(row, ColNames.Action).Text, node.Action.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Action).Text = IIf(node.Action, "1", "0").ToString()
|
.Cell(row, ColNames.Action).Text = IIf(node.Action, "1", "0").ToString()
|
||||||
|
NodeActionChanged(node)
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.RowType
|
Case RowNodeChangedEventArgs.RowNodeChangeType.RowType
|
||||||
'If node.RowType = RowNode.RowTypeEnum.FixedModule Then
|
|
||||||
' .Cell(row, ColNames.Label).FontSize = 10
|
|
||||||
' .Cell(row, ColNames.Label).FontBold = True
|
|
||||||
'ElseIf node.RowType = RowNode.RowTypeEnum.Module Then
|
|
||||||
' .Cell(row, ColNames.Label).FontSize = 8
|
|
||||||
' .Cell(row, ColNames.Label).FontBold = True
|
|
||||||
'ElseIf node.RowType = RowNode.RowTypeEnum.Flow Then
|
|
||||||
' .Cell(row, ColNames.Label).FontSize = 8
|
|
||||||
' .Cell(row, ColNames.Label).FontBold = False
|
|
||||||
'End If
|
|
||||||
'NodeActionChanged(node)
|
|
||||||
NodeRowTypeChanged(node)
|
NodeRowTypeChanged(node)
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Label
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Label
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Label, .Cell(row, ColNames.Label).Text, node.Label.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Label).Text = $"{node.Label}"
|
.Cell(row, ColNames.Label).Text = $"{node.Label}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.ControlType
|
Case RowNodeChangedEventArgs.RowNodeChangeType.ControlType
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.ControlType, .Cell(row, ColNames.ControlType).Text, node.ControlType.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.ControlType).Text = $"{node.ControlType}"
|
.Cell(row, ColNames.ControlType).Text = $"{node.ControlType}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Description
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Description
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Description, .Cell(row, ColNames.Description).Text, node.Description.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Description).Text = $"{node.Description}"
|
.Cell(row, ColNames.Description).Text = $"{node.Description}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.SaveToDb
|
Case RowNodeChangedEventArgs.RowNodeChangeType.SaveToDb
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.SaveToDb, .Cell(row, ColNames.SaveToDb).Text, node.SaveToDb.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.SaveToDb).Text = IIf(node.SaveToDb, "1", "0").ToString()
|
.Cell(row, ColNames.SaveToDb).Text = IIf(node.SaveToDb, "1", "0").ToString()
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.RecordName
|
Case RowNodeChangedEventArgs.RowNodeChangeType.RecordName
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.RecordName, .Cell(row, ColNames.RecordName).Text, node.RecordName.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.RecordName).Text = $"{node.RecordName}"
|
.Cell(row, ColNames.RecordName).Text = $"{node.RecordName}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Retry
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Retry
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Retry, .Cell(row, ColNames.Retry).Text, node.Retry.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Retry).Text = $"{node.Retry}"
|
.Cell(row, ColNames.Retry).Text = $"{node.Retry}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
Case RowNodeChangedEventArgs.RowNodeChangeType.RetryInterval
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.RetryInterval, .Cell(row, ColNames.RetryInterval).Text, node.RetryInterval.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.RetryInterval).Text = $"{node.RetryInterval}"
|
.Cell(row, ColNames.RetryInterval).Text = $"{node.RetryInterval}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
Case RowNodeChangedEventArgs.RowNodeChangeType.ErrorCode
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.ErrorCode, .Cell(row, ColNames.ErrorCode).Text, node.ErrorCode.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.ErrorCode).Text = $"{node.ErrorCode}"
|
.Cell(row, ColNames.ErrorCode).Text = $"{node.ErrorCode}"
|
||||||
If String.IsNullOrWhiteSpace(node.ErrorCode) = False Then
|
If String.IsNullOrWhiteSpace(node.ErrorCode) = False Then
|
||||||
.Cell(row, ColNames.ErrorCode).BackColor = _errCodeManager(node.ErrorCode).Color
|
.Cell(row, ColNames.ErrorCode).BackColor = _errCodeManager(node.ErrorCode).Color
|
||||||
@@ -1956,35 +1996,34 @@ Namespace UTSModule.Station
|
|||||||
.Cell(row, ColNames.ErrorMessage).BackColor = Color.White
|
.Cell(row, ColNames.ErrorMessage).BackColor = Color.White
|
||||||
End If
|
End If
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
Case RowNodeChangedEventArgs.RowNodeChangeType.ErrorMessage
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.ErrorMessage, .Cell(row, ColNames.ErrorMessage).Text, node.ErrorMessage.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.ErrorMessage).Text = $"{node.ErrorMessage}"
|
.Cell(row, ColNames.ErrorMessage).Text = $"{node.ErrorMessage}"
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
Case RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
||||||
If String.Compare(.Cell(row, ColNames.CommandType).Text, node.CommandType) <> 0 Then
|
If String.Compare(.Cell(row, ColNames.CommandType).Text, node.CommandType) <> 0 Then
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.CommandType, .Cell(row, ColNames.CommandType).Text, node.CommandType.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.CommandType).Text = $"{node.CommandType}"
|
.Cell(row, ColNames.CommandType).Text = $"{node.CommandType}"
|
||||||
CommandTypeChanged(node)
|
CommandTypeChanged(node)
|
||||||
|
NodeActionChanged(node)
|
||||||
End If
|
End If
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Command
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Command
|
||||||
If String.Compare(.Cell(row, ColNames.Command).Text, node.Command) <> 0 Then
|
If String.Compare(.Cell(row, ColNames.Command).Text, node.Command) <> 0 Then
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Command, .Cell(row, ColNames.Command).Text, node.Command.ToString())
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Command).Text = $"{node.Command}"
|
.Cell(row, ColNames.Command).Text = $"{node.Command}"
|
||||||
CommandChanged(node)
|
CommandChanged(node)
|
||||||
|
NodeActionChanged(node)
|
||||||
End If
|
End If
|
||||||
Case RowNodeChangedEventArgs.RowNodeChangeType.Parameters
|
Case RowNodeChangedEventArgs.RowNodeChangeType.Parameters
|
||||||
cmd = New GridNodeTextChangedCommand(_grd, row, ColNames.Parameters, .Cell(row, ColNames.Parameters).Text, ParamsToString(node.Parameters))
|
|
||||||
|
|
||||||
.Cell(row, ColNames.Parameters).Text = $"{ParamsToString(node.Parameters)}"
|
.Cell(row, ColNames.Parameters).Text = $"{ParamsToString(node.Parameters)}"
|
||||||
End Select
|
End Select
|
||||||
End With
|
End With
|
||||||
|
OnUserAction(e.BeforeNode)
|
||||||
|
OnUserActionEnd(e.Node)
|
||||||
|
'If CommandManager.IsRuning = False Then
|
||||||
|
|
||||||
If CommandManager.IsRuning = False AndAlso cmd IsNot Nothing Then
|
|
||||||
CommandManager.RunCommand(cmd)
|
|
||||||
RaiseEvent PlanGridCommandChanged(Nothing, Nothing)
|
|
||||||
|
|
||||||
End If
|
' Dim dic As New Dictionary(Of Integer, TextChangedRowNode) From {
|
||||||
|
' {row, New TextChangedRowNode With {.BeforeRowNode = e.BeforeNode.Clone, .AfterRowNode = e.Node.Clone}}
|
||||||
|
' }
|
||||||
|
' CommandManager.AddUndoCommand(New GridNodeTextChangedCommand(Me, dic))
|
||||||
|
' RaiseEvent PlanGridCommandChanged(Nothing, Nothing)
|
||||||
|
'End If
|
||||||
|
|
||||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Changed
|
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Changed
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user