批量粘贴与批量撤销功能上线
This commit is contained in:
@@ -140,15 +140,20 @@ Namespace UTSModule.Station
|
||||
|
||||
|
||||
#Region "表格事件处理"
|
||||
Private _isUpload As Boolean
|
||||
Private _beforeNode As RowNode
|
||||
|
||||
Private Sub Grid_CellChange(sender As Object, e As CellChangeEventArgs)
|
||||
If ActiveRowNode Is Nothing Then Return
|
||||
|
||||
If _cellChanged = GridCellChangedEnum.None Then _cellChanged = GridCellChangedEnum.RowNodeInfo
|
||||
If _cellChanged <> GridCellChangedEnum.RowNodeInfo Then Return
|
||||
|
||||
If Not _isUpload Then _beforeNode = ActiveRowNode.Clone
|
||||
_isUpload = True
|
||||
|
||||
If e.Col = ColNames.ColValue Then
|
||||
Dim value As String = _grd.Cell(e.Row, e.Col).Text
|
||||
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType
|
||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||
Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||
Select Case e.Row
|
||||
Case RowNames.Action
|
||||
ActiveRowNode.Action = _grd.Cell(e.Row, e.Col).BooleanValue
|
||||
@@ -157,8 +162,55 @@ Namespace UTSModule.Station
|
||||
ActiveRowNode.Label = value
|
||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.Label
|
||||
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
|
||||
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
|
||||
ActiveRowNode.RowType = CType([Enum].Parse(GetType(RowNode.RowTypeEnum), value), RowNode.RowTypeEnum)
|
||||
changeType = RowNodeChangedEventArgs.RowNodeChangeType.RowType
|
||||
@@ -177,18 +229,7 @@ Namespace UTSModule.Station
|
||||
Case RowNames.RetryInterval
|
||||
ActiveRowNode.RetryInterval = CInt(value)
|
||||
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
|
||||
If e.Row - RowNames.Parameters > ActiveRowNode.Parameters.Count - 1 Then Return
|
||||
ActiveRowNode.Parameters(e.Row - RowNames.Parameters).Value = value
|
||||
@@ -197,13 +238,16 @@ Namespace UTSModule.Station
|
||||
|
||||
If changeType = RowNodeChangedEventArgs.RowNodeChangeType.None Then Return
|
||||
|
||||
Dim args As New RowNodeChangedEventArgs With {
|
||||
.Node = ActiveRowNode,
|
||||
.ChangeType = changeType
|
||||
}
|
||||
RaiseEvent RowNodeTextChanged(sender, args)
|
||||
If _beforeNode IsNot Nothing Then
|
||||
Dim args As New RowNodeChangedEventArgs With {
|
||||
.Node = ActiveRowNode,
|
||||
.BeforeNode = _beforeNode,
|
||||
.ChangeType = changeType
|
||||
}
|
||||
RaiseEvent RowNodeTextChanged(sender, args)
|
||||
End If
|
||||
End If
|
||||
|
||||
_isUpload = False
|
||||
_cellChanged = GridCellChangedEnum.None
|
||||
End Sub
|
||||
|
||||
@@ -218,6 +262,9 @@ Namespace UTSModule.Station
|
||||
_grd.Cell(row, ColNames.ColName).Text = node.Parameters(idx).Desc
|
||||
_grd.Cell(row, ColNames.ColValue).Text = node.Parameters(idx).Value
|
||||
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
|
||||
|
||||
|
||||
@@ -227,6 +274,9 @@ Namespace UTSModule.Station
|
||||
_grd.Cell(RowNames.Command, ColNames.ColValue).Text = node.Command
|
||||
_grd.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
||||
_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
|
||||
|
||||
Private Sub ErrCodeChanged(node As RowNode)
|
||||
@@ -239,47 +289,62 @@ Namespace UTSModule.Station
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub Grid_ComboClick(sender As Object, e As ComboClickEventArgs)
|
||||
If ActiveRowNode Is Nothing Then Return
|
||||
Select Case _grdSingleRowDropRow
|
||||
Case RowNames.ControlType
|
||||
ActiveRowNode.ControlType = _grd.Cell(RowNames.ControlType, ColNames.ColValue).Text
|
||||
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()
|
||||
CommandTypeChanged(ActiveRowNode)
|
||||
End If
|
||||
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()
|
||||
'If ActiveRowNode Is Nothing Then Return
|
||||
'Dim changeType As RowNodeChangedEventArgs.RowNodeChangeType = RowNodeChangedEventArgs.RowNodeChangeType.None
|
||||
'Dim beforeNode As RowNode = ActiveRowNode.Clone
|
||||
'Select Case _grdSingleRowDropRow
|
||||
' Case RowNames.ControlType
|
||||
' ActiveRowNode.ControlType = _grd.Cell(RowNames.ControlType, ColNames.ColValue).Text
|
||||
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.ControlType
|
||||
' 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()
|
||||
' CommandTypeChanged(ActiveRowNode)
|
||||
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.CommandType
|
||||
' End If
|
||||
' 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)
|
||||
If planCommand Is Nothing Then Return
|
||||
For Each cmdParam As TestCmdParam In planCommand.Params
|
||||
ActiveRowNode.Parameters.Add(cmdParam.Clone())
|
||||
Next
|
||||
' '拷贝所有参数到当前节点信息中
|
||||
' 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
|
||||
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
|
||||
End Select
|
||||
' '更新行节点信息表格内容
|
||||
' CommandChanged(ActiveRowNode)
|
||||
' changeType = RowNodeChangedEventArgs.RowNodeChangeType.Command
|
||||
' End If
|
||||
' 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)
|
||||
' 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
|
||||
|
||||
''' <summary>
|
||||
@@ -316,9 +381,9 @@ Namespace UTSModule.Station
|
||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Control)
|
||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Flow)
|
||||
_grd.ComboBox(0).Items.Add(RowNode.RowTypeEnum.Module)
|
||||
Case RowNames.Parameters'特殊处理Call命令
|
||||
_grd.ComboBox(0).Items.Clear()
|
||||
_grd.ComboBox(0).Items.Addrange(UTS_Core.UTSModule.Test.UtsTester.CreateTester.GetCustomModuleName())
|
||||
Case RowNames.Parameters '特殊处理Call命令
|
||||
_grd.ComboBox(0).Items.Clear()
|
||||
_grd.ComboBox(0).Items.AddRange(UTS_Core.UTSModule.Test.UtsTester.CreateTester.GetCustomModuleName())
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -446,7 +511,7 @@ Namespace UTSModule.Station
|
||||
|
||||
Else
|
||||
.Rows = RowNames.Parameters + 1
|
||||
|
||||
|
||||
.Cell(RowNames.Parameters, ColNames.ColName).Text = RowNames.Parameters.ToString()
|
||||
.Cell(RowNames.Parameters, col).CellType = CellTypeEnum.TextBox
|
||||
.Cell(RowNames.Parameters, col).Text = ""
|
||||
|
||||
Reference in New Issue
Block a user