2. ตอนโหลด from สามารถตั้งให้อ่าน Tag โดยที่ไม่ต้องกดปุ่มได้รึเปล่าครับผมใช้ TextChanged แต่ว่ามันไม่อ่าน Tag แรก ส่วน Tag ถัดไปอ่าน ถ้ากดปุ่ม btnTagID แล้ว
3. ผมใช้ TextChanged ในการอ่านค่า Tag ถัดไป พออ่านไปแล้ว มันไม่ยอมอ่านค่าคนถัดไปครับ
ผมเรียกใช้ NextGraduate เมื่ออ่าน Tag ถัดไป
Private Sub frmAddRFID_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'SerialPort1.Open()
' sp.Open()
ListView1.Columns.Add("รหัสบัณฑิต", 80, HorizontalAlignment.Center)
ListView1.Columns.Add("ชื่อ", 120, HorizontalAlignment.Center)
ListView1.Columns.Add("Tag RFID", 95, HorizontalAlignment.Center)
ListView1.View = View.Details
ListView1.GridLines = True
ListView1.FullRowSelect = True
With Conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = strConn
.Open()
End With
Dim sqlEducation As String = ""
sqlEducation = "SELECT EdtID,EdtName FROM Education "
sqlEducation &= " ORDER BY EdtID"
Da = New SqlDataAdapter(sqlEducation, Conn)
Da.Fill(Ds, "Education")
If Ds.Tables("Education").Rows.Count <> 0 Then
With cboEducation
.DataSource = Ds.Tables("Education")
.DisplayMember = "EdtName"
.ValueMember = "EdtID"
End With
End If
btnAdd.Enabled = True
btnSave.Enabled = False
btnCancle.Enabled = True
End Sub
Private Sub btnTagID_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTagID.Click
SerialPort1.Open()
If SerialPort1.IsOpen Then
With txtSeatTag
.AppendText(Mid(SerialPort1.ReadLine & vbCrLf, 2, 10))
.ScrollToCaret()
End With
End If
btnAdd.Enabled = True
SerialPort1.Close()
End Sub
Private Sub txtSeatTag_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSeatTag.TextChanged
txtSeatTag.Text = ""
If SerialPort1.IsOpen Then
SerialPort1.Close()
SerialPort1.Open()
With txtSeatTag
.AppendText(Mid(SerialPort1.ReadLine & vbCrLf, 2, 10))
.ScrollToCaret()
End With
NextGraduate()
End If
SerialPort1.Close()
End Sub
Private Sub NextGraduate()
Me.BindingContext(Ds, "Graduate").Position += 1
ShowPosition()
Me.cboEducation.Enabled = False
Dim i As Integer = 0
Dim lvi As ListViewItem
Dim tmpGraduate As Integer = 0
For i = 0 To ListView1.Items.Count - 1
tmpGraduate = Val(ListView1.Items(i).SubItems(1).Text)
If Val(txtSeatTag.Text) = tmpGraduate Then
MessageBox.Show("คุณใส่ชื่อบัณฑิตซ้ำ กรุณาใส่ใหม่ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
ClearAllData()
Exit Sub
End If
Next
Dim anyData() As String
anyData = New String() { _
lblGdtID.Text, _
lblGdtFname.Text, _
txtSeatTag.Text _
}
lvi = New ListViewItem(anyData)
ListView1.Items.Add(lvi)
ClearAllData()
End Sub