598 lines
21 KiB
VB.net
598 lines
21 KiB
VB.net
Imports UTS_Core.UTSModule
|
||
Imports UTS_Core.UTSModule.Test
|
||
Imports System.ComponentModel
|
||
Imports System.IO.Ports
|
||
Imports UTS_Core.UTSModule.DbTableModel.Customer
|
||
Imports UTS_Core.UTSModule.DbConnect
|
||
Imports UTS_Core.DebugLog
|
||
Imports UTS_Core.UTSModule.Test.Controls
|
||
Imports Newtonsoft.Json
|
||
Imports UTS_Core.Database
|
||
Imports UTS_Core.UTSModule.Project
|
||
Imports UTS_Core.UTSModule.Station
|
||
Imports System.Diagnostics
|
||
|
||
Public Class FrmMain
|
||
Implements IProcessStation
|
||
|
||
Private _utsApp As UtsAppForm
|
||
Private _logTable As FlexCell.Grid
|
||
Public Enum ModifyType
|
||
del
|
||
Modify
|
||
End Enum
|
||
|
||
Public Enum colType
|
||
ct_int
|
||
ct_varchar
|
||
ct_text
|
||
ct_datetime
|
||
End Enum
|
||
|
||
Public g_Pcontrol As ProcessControlAPI
|
||
Public Sub StationChanged() Implements IProcessStation.StationChanged
|
||
My.Settings.Project = _utsApp.ProcessStation.ParentProject.Name
|
||
My.Settings.ProcessStation = _utsApp.ProcessStation.Name
|
||
g_Pcontrol = New ProcessControlAPI(_utsApp)
|
||
End Sub
|
||
|
||
|
||
|
||
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||
'自动保存设置
|
||
My.Application.SaveMySettingsOnExit = True
|
||
'初始化UTS窗体信息,失败则关闭窗体
|
||
If InitializeUtsApp() = False Then Return
|
||
CheckForIllegalCrossThreadCalls = False '禁用跨线程检查,简化跨线程操作’
|
||
Me.Text = "BC01 LogViewer (Build:" & Application.ProductVersion & ")"
|
||
|
||
|
||
|
||
|
||
isflag = True
|
||
_logTable = New FlexCell.Grid
|
||
IsSaveChangesFlag = True
|
||
GetSqliteUserTableName()
|
||
ModifyList = New Dictionary(Of String, ModifyType)
|
||
' ColumnType = New Dictionary(Of String, Type)
|
||
|
||
AddDateTimePicker()
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
Private Function InitializeUtsApp() As Boolean
|
||
_utsApp = UtsAppForm.CreateSingleton
|
||
|
||
Try
|
||
If _utsApp.IsInitialized = False Then
|
||
_utsApp.AddStatisticsObserver(Me)
|
||
_utsApp.Initialize()
|
||
_utsApp.LoadStation("Phobos", "T3")
|
||
'_utsApp.LoadStation(My.Settings.Project, My.Settings.ProcessStation)
|
||
End If
|
||
Catch ex As Exception
|
||
MsgBox($"Initialize UTSForm Error:{ex.Message}")
|
||
Close()
|
||
Return False
|
||
End Try
|
||
|
||
Return True
|
||
End Function
|
||
|
||
|
||
|
||
#Region "数据库操作"
|
||
|
||
|
||
Public Function GetSqliteTableData(sqlstr As String, Optional withKey As Boolean = True) As DataTable '
|
||
Dim Result As New List(Of String)
|
||
' Dim sqlstr As String = $"SELECT * FROM TBL_{pojerid}_{stanceid}_TestLog ;"
|
||
Dim Tablename As DataTable = SearchBarcodeExists(sqlstr, withKey)
|
||
If IsNothing(Tablename) Then
|
||
' MsgBox($"查询数据失败!")
|
||
Return Nothing
|
||
Else
|
||
'If Not Tablename.Columns.Contains("name") Then
|
||
' MsgBox($"查询数据失败!")
|
||
' Return Nothing
|
||
'End If
|
||
Return Tablename
|
||
'For i As Integer = 0 To Tablename.Rows.Count - 1
|
||
' If Tablename.Rows.Item(i)("name").ToString.Contains($"TBL_{pojerid}_{stanceid}_TestLog") Then
|
||
' Result.Add(Tablename.Rows.Item(i)("name").ToString)
|
||
' End If
|
||
'Next
|
||
'Return Result
|
||
End If
|
||
End Function
|
||
|
||
Public Sub GetSqliteUserTableName()
|
||
Dim inquire As String = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;"
|
||
Dim TableData As DataTable = GetSqliteTableData(inquire)
|
||
Dim nodes As New List(Of TreeNode)
|
||
If IsNothing(TableData) OrElse Not TableData.Columns.Contains("name") Then
|
||
MsgBox($"获取用户表列表失败!")
|
||
Return
|
||
End If
|
||
For i As Integer = 0 To TableData.Rows.Count - 1
|
||
If TableData.Rows.Item(i)("name").ToString.Contains($"sqlite_") Then Continue For
|
||
Dim pNode As TreeNode = New TreeNode(TableData.Rows.Item(i)("name").ToString) With {.Tag = i}
|
||
nodes.Add(pNode)
|
||
Next
|
||
TreeViewEx1.Nodes.AddRange(nodes.ToArray)
|
||
End Sub
|
||
|
||
|
||
|
||
Public Shared Function SearchBarcodeExists(TableName As String, Optional withKey As Boolean = True) As DataTable
|
||
'Dim result As Boolean = False
|
||
Using db As New DbExecutor(UtsDb.LocalDbType, UtsDb.LocalConnString)
|
||
db.Open()
|
||
Dim cmd As DataTable = db.ExecuteDataTable(TableName, withKey)
|
||
db.Close()
|
||
If IsNothing(cmd) OrElse cmd.Rows.Count = 0 Then Return Nothing
|
||
Return cmd
|
||
End Using
|
||
|
||
End Function
|
||
|
||
|
||
|
||
|
||
|
||
Public isflag As Boolean
|
||
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
||
If String.IsNullOrEmpty(queryText.Text) Then
|
||
MsgBox("查询语句不能为空!")
|
||
Return
|
||
End If
|
||
isflag = False
|
||
|
||
Dim Tablename As DataTable = GetSqliteTableData(queryText.Text)
|
||
TestlogTable.DataSource = Tablename
|
||
_logTable.DataSource = Tablename.Copy
|
||
isflag = True
|
||
End Sub
|
||
Public IsSaveChangesFlag As Boolean
|
||
Private Sub SaveChanges_Click(sender As Object, e As EventArgs) Handles SaveChanges.Click
|
||
If Not IsSaveChangesFlag Then
|
||
If MsgBox("表格已修改,是否保存修改?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
||
Dim strInputMsg As String = InputBox("请输入修改密码保存修改", "密码确认")
|
||
If strInputMsg <> "Cc202023abs" Then
|
||
MsgBox("修改密码错误,请确认密码!")
|
||
Return
|
||
Else
|
||
If Not IsNothing(TestlogTable) Then
|
||
TransactionOperation()
|
||
MsgBox("保存修改完成!")
|
||
Dim nnode As New TreeNode(TableName.Text)
|
||
Dim isnode As New TreeNodeMouseClickEventArgs(nnode, Nothing, 0, 0, 0)
|
||
TreeViewEx1_DoubleClick(Nothing, isnode)
|
||
Else
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
Return
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
End If
|
||
End Sub
|
||
|
||
Public ModifyList As Dictionary(Of String, ModifyType)
|
||
|
||
'Private Sub TestlogTable_CellChange(Sender As Object, e As FlexCell.Grid.CellChangeEventArgs) Handles TestlogTable.CellChange
|
||
' 'Console.WriteLine($"{TestlogTable.Cell(e.Row, e.Col).Text.GetType()}==={ColumnType.Item(TestlogTable.Cell(0, e.Col).Text)}")
|
||
' 'If TestlogTable.Cell(e.Row, e.Col).Text.GetType() = ColumnType.Item(TestlogTable.Cell(0, e.Col).Text) Then
|
||
' ' If TestlogTable.s Then
|
||
' If e.Col < 2 OrElse e.Row < 1 Then Return
|
||
' IsSaveChangesFlag = False
|
||
' Dim key As String = QueryRowIndex(e.Row)
|
||
' If ModifyList.ContainsKey(key) Then Return
|
||
' ModifyList.Add(key, ModifyType.Modify)
|
||
' 'Else
|
||
' ' TestlogTable.Cell(e.Row, e.Col).Text = _logTable.Cell(e.Row, e.Col).Text
|
||
' 'End If
|
||
'End Sub
|
||
'Public ColumnType As Dictionary(Of String, Type)
|
||
Private Sub TreeViewEx1_DoubleClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles TreeViewEx1.NodeMouseDoubleClick
|
||
'If Not IsSaveChangesFlag Then
|
||
' SaveChanges_Click(Nothing, Nothing)
|
||
'Else
|
||
isflag = False
|
||
Dim inquire As String = $"SELECT * FROM {e.Node.Text};"
|
||
Dim TableData As DataTable = GetSqliteTableData(inquire)
|
||
TestlogTable.NewFile()
|
||
'Dim coltypeinten As DataColumn
|
||
If IsNothing(TableData) Then
|
||
MsgBox($"获取用户表数据失败!")
|
||
Return
|
||
End If
|
||
'ColumnType.Clear()
|
||
'For coli As Integer = 0 To TableData.Columns.Count - 1
|
||
' coltypeinten = TableData.Columns.Item(coli)
|
||
' ColumnType.Add(coltypeinten.ColumnName, coltypeinten.DataType)
|
||
'Next
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
|
||
TestlogTable.DataSource = TableData
|
||
_logTable.DataSource = TableData.Copy
|
||
Console.WriteLine(TestlogTable.Cell(1, 1).Text)
|
||
TestlogTable.Range(1, 1, TestlogTable.Rows - 1, 1).Locked = True
|
||
TableName.Text = e.Node.Text
|
||
isflag = True
|
||
'End If
|
||
End Sub
|
||
|
||
Private Sub Open_BC01_Table()
|
||
isflag = False
|
||
Dim inquire As String = $"SELECT * FROM TBL_4_6_TestLog;"
|
||
Dim TableData As DataTable = GetSqliteTableData(inquire)
|
||
TestlogTable.NewFile()
|
||
'Dim coltypeinten As DataColumn
|
||
If IsNothing(TableData) Then
|
||
MsgBox($"获取用户表数据失败!")
|
||
Return
|
||
End If
|
||
'ColumnType.Clear()
|
||
'For coli As Integer = 0 To TableData.Columns.Count - 1
|
||
' coltypeinten = TableData.Columns.Item(coli)
|
||
' ColumnType.Add(coltypeinten.ColumnName, coltypeinten.DataType)
|
||
'Next
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
|
||
TestlogTable.DataSource = TableData
|
||
_logTable.DataSource = TableData.Copy
|
||
Console.WriteLine(TestlogTable.Cell(1, 1).Text)
|
||
TestlogTable.Range(1, 1, TestlogTable.Rows - 1, 1).Locked = True
|
||
TableName.Text = "TBL_4_6_TestLog"
|
||
isflag = True
|
||
'End If
|
||
End Sub
|
||
|
||
Private Sub DeleteRow_Click(sender As Object, e As EventArgs) Handles DeleteRow.Click
|
||
If TestlogTable.ActiveCell.Row < 2 Then Return
|
||
IsSaveChangesFlag = False
|
||
Dim key As String = QueryRowIndex(TestlogTable.ActiveCell.Row)
|
||
|
||
If ModifyList.ContainsKey(key) Then
|
||
ModifyList.Item(key) = ModifyType.del
|
||
Else
|
||
ModifyList.Add(key, ModifyType.del)
|
||
End If
|
||
TestlogTable.Range(TestlogTable.ActiveCell.Row, 0, TestlogTable.ActiveCell.Row, TestlogTable.Cols - 1).FontStrikeout = True
|
||
TestlogTable.Range(TestlogTable.ActiveCell.Row, 0, TestlogTable.ActiveCell.Row, TestlogTable.Cols - 1).BackColor = Color.Red
|
||
' TestlogTable.RemoveItem(TestlogTable.ActiveCell.Row)
|
||
End Sub
|
||
|
||
Public Function QueryRowIndex(rowid As Integer) As String
|
||
For i = 1 To _logTable.Rows - 1
|
||
If _logTable.Cell(i, 1).Text.Equals(TestlogTable.Cell(rowid, 1).Text) Then
|
||
Return i.ToString
|
||
End If
|
||
Next
|
||
Return 0.ToString
|
||
End Function
|
||
|
||
|
||
#Region "事务操作"
|
||
|
||
Public Function TransactionOperation() As Boolean
|
||
|
||
|
||
Dim thetableName As String = TableName.Text
|
||
Using db As New DbExecutor(UtsDb.LocalDbType, UtsDb.LocalConnString)
|
||
db.Open()
|
||
db.BeginTransaction()
|
||
|
||
Dim dicFiled As Dictionary(Of String, String)
|
||
Dim cmdText As String
|
||
Dim colName As String
|
||
Dim colNames As New List(Of String)
|
||
|
||
For Each inten In ModifyList
|
||
|
||
Try
|
||
If inten.Key.Equals("0") Then Continue For
|
||
cmdText = ModifyListaction(inten, db)
|
||
db.ExecuteNonQuery(cmdText) '执行语句
|
||
db.ClearDbParameter()
|
||
Catch ex As Exception
|
||
'WriteErrorLogToFile($"[{i}]Write LogQueue To Remote DB Error: {ex.Message}")
|
||
IsSaveChangesFlag = False
|
||
MsgBox($"保存修改失败!详情:{ex}")
|
||
Try
|
||
db.RollbackTransaction()
|
||
db.Close()
|
||
Catch ex2 As Exception
|
||
' Return False
|
||
'WriteErrorLogToFile($"Write LogQueue To Remote DB Rollback Transaction Error: {ex.Message}")
|
||
End Try
|
||
|
||
Return False
|
||
End Try
|
||
Next
|
||
|
||
db.CommitTransaction()
|
||
db.Close()
|
||
End Using
|
||
ModifyList.Clear()
|
||
IsSaveChangesFlag = True
|
||
Return True
|
||
End Function
|
||
Public Function ModifyListaction(inten As KeyValuePair(Of String, ModifyType), db As DbExecutor) As String
|
||
Dim result As String
|
||
|
||
If inten.Value = ModifyType.del Then
|
||
result = $"DELETE FROM {TableName.Text} where {_logTable.Cell(0, 1).Text } ='{_logTable.Cell(Integer.Parse(inten.Key), 1).Text }' "
|
||
Else
|
||
Dim dic As Dictionary(Of String, String) = ResultModifyStr(inten.Key)
|
||
Dim iswhere As String = $" {_logTable.Cell(0, 1).Text} ='{_logTable.Cell(Integer.Parse(inten.Key), 1).Text }'"
|
||
result = db.CmdHelper.Update(TableName.Text, dic, iswhere)
|
||
End If
|
||
Return result
|
||
End Function
|
||
Public Function ResultModifyStr(rownum As Integer) As Dictionary(Of String, String)
|
||
Dim dic As New Dictionary(Of String, String)
|
||
For i As Integer = 2 To _logTable.Cols - 1
|
||
' Console.WriteLine(_logTable.Column(i).CellType.ToString)_logTable.DateFormat
|
||
If _logTable.Column(i).CellType.ToString().Equals(FlexCell.CellTypeEnum.Calendar.ToString()) Then
|
||
dic.Add(_logTable.Cell(0, i).Text, DateTime.Parse(_logTable.Cell(rownum, i).Text).ToString("s"))
|
||
Continue For
|
||
End If
|
||
|
||
dic.Add(_logTable.Cell(0, i).Text, _logTable.Cell(rownum, i).Text)
|
||
Next
|
||
Return dic
|
||
End Function
|
||
|
||
Private Sub TestlogTable_CellChanging(Sender As Object, e As FlexCell.Grid.CellChangingEventArgs) Handles TestlogTable.CellChanging
|
||
If e.Col < 2 OrElse e.Row < 1 Then Return
|
||
IsSaveChangesFlag = False
|
||
Dim key As String = QueryRowIndex(e.Row)
|
||
' TestlogTable.Range(e.Row, 1, e.Row, TestlogTable.Cols - 1).CopyData()
|
||
Console.WriteLine(TestlogTable.Cell(e.Row, e.Col).Text)
|
||
_logTable.Cell(Integer.Parse(key), e.Col).Text = TestlogTable.Cell(e.Row, e.Col).Text
|
||
If ModifyList.ContainsKey(key) Then Return
|
||
TestlogTable.Cell(e.Row, e.Col).BackColor = Color.Red
|
||
ModifyList.Add(key, ModifyType.Modify)
|
||
|
||
End Sub
|
||
|
||
Dim BeginTime As New DateTimePicker
|
||
Dim EndTime As New DateTimePicker
|
||
|
||
Private Sub UpdateToolTip()
|
||
Dim Time_begin As ToolStripControlHost = New ToolStripControlHost(BeginTime)
|
||
Dim Time_End As ToolStripControlHost = New ToolStripControlHost(EndTime)
|
||
ToolStrip2.Items.Insert(1, Time_begin)
|
||
ToolStrip2.Items.Insert(3, Time_End)
|
||
End Sub
|
||
|
||
Private Sub AddDateTimePicker()
|
||
UpdateToolTip()
|
||
End Sub
|
||
Private Sub TreeViewEx1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeViewEx1.AfterSelect
|
||
|
||
End Sub
|
||
|
||
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
|
||
Dim start_date As DateTime = ToolStrip2.Items(1).Text
|
||
Dim end_Date As DateTime = ToolStrip2.Items(3).Text
|
||
|
||
|
||
Dim tmpStart_Datetime As String = Format(start_date, "yyyy-MM-dd") & " 00:00:00"
|
||
Dim tmpEnd_Datetime As String = Format(end_Date, "yyyy-MM-dd") & " 23:59:59"
|
||
|
||
'MsgBox(tmpStart_Datetime & " , " & tmpEnd_Datetime)
|
||
|
||
isflag = False
|
||
'SELECT * FROM your_table WHERE datetime_column BETWEEN 'start_date' AND 'end_date';
|
||
'SELECT * FROM TBL_4_6_TestLog WHERE 'StartTime' BETWEEN '2023-12-12' AND '2023-12-12';
|
||
'日期和时间应该使用YYYY-MM-DD HH:MM:SS格式的字符串表示
|
||
Dim inquire As String = $"SELECT * FROM TBL_4_6_TestLog WHERE StartTime BETWEEN '{tmpStart_Datetime}' AND '{tmpEnd_Datetime}' ORDER BY ID DESC;"
|
||
Dim TableData As DataTable = GetSqliteTableData(inquire)
|
||
TestlogTable.NewFile()
|
||
|
||
TestlogTable.AutoRedraw = False
|
||
|
||
'Dim coltypeinten As DataColumn
|
||
If IsNothing(TableData) Then
|
||
MsgBox($"查无数据!")
|
||
Return
|
||
End If
|
||
'ColumnType.Clear()
|
||
'For coli As Integer = 0 To TableData.Columns.Count - 1
|
||
' coltypeinten = TableData.Columns.Item(coli)
|
||
' ColumnType.Add(coltypeinten.ColumnName, coltypeinten.DataType)
|
||
'Next
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
|
||
TestlogTable.DataSource = TableData
|
||
_logTable.DataSource = TableData.Copy
|
||
Console.WriteLine(TestlogTable.Cell(1, 1).Text)
|
||
TestlogTable.Range(1, 1, TestlogTable.Rows - 1, 1).Locked = True
|
||
TestlogTable.Column(0).Width = 0
|
||
|
||
TestlogTable.Column(1).Width = 35
|
||
For i = 2 To 3
|
||
TestlogTable.Column(i).Width = 20
|
||
Next
|
||
|
||
For i = 8 To 14
|
||
TestlogTable.Column(i).Width = 20
|
||
Next
|
||
|
||
For i = 8 To TestlogTable.Cols - 1
|
||
TestlogTable.Column(i).Width = 60
|
||
Next
|
||
|
||
|
||
For i = 1 To TestlogTable.Rows - 1
|
||
If TestlogTable.Cell(i, 9).Text.Trim = "1" Then
|
||
TestlogTable.Range(i, 1, i, TestlogTable.Cols - 1).ForeColor = Color.DarkGreen
|
||
Else
|
||
TestlogTable.Range(i, 1, i, TestlogTable.Cols - 1).ForeColor = Color.DarkRed
|
||
End If
|
||
Next
|
||
|
||
TestlogTable.Refresh()
|
||
TestlogTable.AutoRedraw = True
|
||
|
||
|
||
TableName.Text = "TBL_4_6_TestLog"
|
||
isflag = True
|
||
'End If
|
||
End Sub
|
||
|
||
|
||
Private Sub ToolStripTextBox1_Click_1(sender As Object, e As EventArgs)
|
||
|
||
End Sub
|
||
|
||
Private Sub ToolStripButton6_Click(sender As Object, e As EventArgs)
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs)
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub ToolStripTextBox1_Click(sender As Object, e As EventArgs) Handles ToolStripTextBox1.Click
|
||
ToolStripTextBox1.SelectAll()
|
||
End Sub
|
||
|
||
Private Sub ToolStripButton7_Click_1(sender As Object, e As EventArgs) Handles ToolStripButton7.Click
|
||
Using dlg As New SaveFileDialog
|
||
dlg.Filter = "Excel 文件(*.xls)|*.xls|CSV 文件(*.csv)|*.csv|PDF 文件(*.pdf)|*.pdf|Flexcell 文件(*.flx)|*.flx"
|
||
dlg.AddExtension = True
|
||
If dlg.ShowDialog <> DialogResult.OK Then Return
|
||
Cursor = Cursors.WaitCursor
|
||
|
||
ApplicationLog.WriteInfoLog($"编辑页面执行流程导出中。")
|
||
Try
|
||
Select Case dlg.FilterIndex
|
||
Case 1
|
||
TestlogTable.ExportToExcel(dlg.FileName, True, True)
|
||
Case 2
|
||
TestlogTable.ExportToCSV(dlg.FileName, True, True)
|
||
Case 3
|
||
TestlogTable.ExportToPDF(dlg.FileName)
|
||
Case 4
|
||
TestlogTable.SaveFile(dlg.FileName)
|
||
End Select
|
||
|
||
ApplicationLog.WriteInfoLog($"导出完成。")
|
||
MsgBox($"导出完成。")
|
||
Catch ex As Exception
|
||
ApplicationLog.WriteErrorLog($"导出失败,原因:{ex.Message}")
|
||
MsgBox($"导出失败,原因:{ex.Message}")
|
||
End Try
|
||
Cursor = Cursors.Arrow
|
||
End Using
|
||
End Sub
|
||
|
||
Private Sub ToolStripButton6_Click_1(sender As Object, e As EventArgs) Handles ToolStripButton6.Click
|
||
isflag = False
|
||
Dim dtu_SN As String = Trim(ToolStripTextBox1.Text)
|
||
Dim inquire As String = $"SELECT * FROM TBL_4_6_TestLog WHERE DUT_SN LIKE '%{dtu_SN}%' ORDER BY ID DESC;"
|
||
Dim TableData As DataTable = GetSqliteTableData(inquire)
|
||
TestlogTable.NewFile()
|
||
|
||
TestlogTable.AutoRedraw = False
|
||
|
||
'Dim coltypeinten As DataColumn
|
||
If IsNothing(TableData) Then
|
||
MsgBox($"获取用户表数据失败!")
|
||
Return
|
||
End If
|
||
'ColumnType.Clear()
|
||
'For coli As Integer = 0 To TableData.Columns.Count - 1
|
||
' coltypeinten = TableData.Columns.Item(coli)
|
||
' ColumnType.Add(coltypeinten.ColumnName, coltypeinten.DataType)
|
||
'Next
|
||
IsSaveChangesFlag = True
|
||
ModifyList.Clear()
|
||
|
||
TestlogTable.DataSource = TableData
|
||
_logTable.DataSource = TableData.Copy
|
||
Console.WriteLine(TestlogTable.Cell(1, 1).Text)
|
||
TestlogTable.Range(1, 1, TestlogTable.Rows - 1, 1).Locked = True
|
||
TestlogTable.Column(0).Width = 0
|
||
TestlogTable.Column(1).Width = 35
|
||
|
||
For i = 2 To 3
|
||
TestlogTable.Column(i).Width = 20
|
||
Next
|
||
|
||
For i = 8 To 14
|
||
TestlogTable.Column(i).Width = 20
|
||
Next
|
||
|
||
For i = 8 To TestlogTable.Cols - 1
|
||
TestlogTable.Column(i).Width = 60
|
||
Next
|
||
|
||
|
||
For i = 1 To TestlogTable.Rows - 1
|
||
If TestlogTable.Cell(i, 9).Text.Trim = "1" Then
|
||
TestlogTable.Range(i, 1, i, TestlogTable.Cols - 1).ForeColor = Color.DarkGreen
|
||
Else
|
||
TestlogTable.Range(i, 1, i, TestlogTable.Cols - 1).ForeColor = Color.DarkRed
|
||
End If
|
||
Next
|
||
|
||
TestlogTable.Refresh()
|
||
TestlogTable.AutoRedraw = True
|
||
|
||
TableName.Text = "TBL_4_6_TestLog"
|
||
isflag = True
|
||
'End If
|
||
End Sub
|
||
|
||
'Private Sub TestlogTable_SetCellText(Sender As Object, e As FlexCell.Grid.SetCellTextEventArgs) Handles TestlogTable.SetCellText
|
||
' If isflag Then
|
||
' Dim key As String = QueryRowIndex(e.Row)
|
||
' TestlogTable.Range(e.Row, 1, e.Row, TestlogTable.Cols - 1).CopyData()
|
||
' _logTable.Cell(key, e.Col).Text = TestlogTable.Cell(e.Row, e.Row).Text
|
||
' End If
|
||
|
||
'End Sub
|
||
|
||
'Private Sub TestlogTable_SetCellText(Sender As Object, e As FlexCell.Grid.SetCellTextEventArgs) Handles TestlogTable.SetCellText
|
||
' 'If e.Col < 2 OrElse e.Row < 1 Then Return
|
||
' 'IsSaveChangesFlag = False
|
||
' 'Dim key As String = QueryRowIndex(e.Row)
|
||
' 'If ModifyList.ContainsKey(key) Then Return
|
||
' 'ModifyList.Add(key, ModifyType.Modify)
|
||
'End Sub
|
||
|
||
|
||
|
||
#End Region
|
||
|
||
|
||
|
||
|
||
#End Region
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
End Class |