以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 二维码扫描怎么只增加1行? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126872) |
||||
-- 作者:huhu -- 发布时间:2018/10/30 15:28:00 -- 二维码扫描怎么只增加1行? KeyDownEdit If e.keyCode = Keys.Enter AndAlso e.Table.Cols(e.Table.colSel).Name = "SN" Then e.cancel = True Dim r As Row = e.Table.addnew If r IsNot Nothing Then e.Table.Select(r.Index, 0) e.Table.StartEditing End If End If KeyDown If e.keyCode = Keys.Enter AndAlso e.Table.Cols(e.Table.colSel).Name = "SN" Then e.cancel = True e.Table.addnew End If DataColChanging Dim kwbm As WinForm.TextBox = e.Form.Controls("TextBox1") If e.DataCol.Name = "SN" Then If e.NewValue.contains("KW") Then kwbm.text = e.NewValue e.DataRow.Delete e.DataRow.save Else Dim str As String = e.NewValue.Replace(chr(10), "").Replace(chr(13), "") Dim idx1 As Integer = str.IndexOf("MAC:") Dim idx2 As Integer = str.IndexOf("H/W:") Dim length As Integer If str.Contains("SN:") Then length = IIF(idx1 <> -1,idx1-3,IIF(idx2 <> -1,idx2-4,str.Length - 3)) e.NewValue = str.SubString(3, length) Else e.NewValue =str End If If str.Contains("MAC:") Then If idx2 = -1 Then e.DataRow("MAC") = str.SubString(idx1+4) Else e.DataRow("MAC") = str.SubString(idx1+4, idx2-idx1-4) End If End If If str.Contains("H/W:") Then e.DataRow("HW") = str.substring(idx2+4) End If End If End If TimerTick e.Form.TimerEnabled = False e.Form.Controls("Table1").Select e.Form.Controls("Table1").Table.Focus e.Form.Controls("Table1").Table.StartEditing AfterLoad e.Form.TimerInterval = 1000 e.Form.TimerEnabled = True 为什么扫了二维码只出现1行? 二维码内容 SN:00252202360 MAC:98:45:62:32:fa:f0 SN:00252202416 MAC:98:45:62:32:fe:70 SN:00252202315 MAC:98:45:62:32:f8:20 SN:00252201886 MAC:98:45:62:32:dd:50 SN:00252202453 MAC:98:45:62:40:00:c0 SN:00252202757 MAC:98:45:62:40:13:c0 SN:00252202815 MAC:98:45:62:40:17:60 SN:00252202298 MAC:98:45:62:32:f7:10 SN:00252202113 MAC:98:45:62:32:eb:80 SN:00252202075 MAC:98:45:62:32:e9:20 SN:00252202801 MAC:98:45:62:40:16:80 SN:00252202226 MAC:98:45:62:32:f2:90 SN:00252202799 MAC:98:45:62:40:16:60 SN:00252202802 MAC:98:45:62:40:16:90 SN:00252201898 MAC:98:45:62:32:de:10 SN:00252202621 MAC:98:45:62:40:0b:40 SN:00252202724 MAC:98:45:62:40:11:b0 SN:00252202588 MAC:98:45:62:40:09:30 SN:00252202785 MAC:98:45:62:40:15:80 SN:00252202150 MAC:98:45:62:32:ed:d0 |
||||
-- 作者:有点甜 -- 发布时间:2018/10/30 15:36:00 -- 1、你写的代码,就是只处理一行的情况;
2、当扫描一次输入一整段内容的时候,你要把每一行的内容分割出来,然后分别新增行处理才行;
3、实例发上来测试。 |
||||
-- 作者:huhu -- 发布时间:2018/10/30 18:17:00 --
大概的一个例子,不完整。你们看一眼应该就清楚了。
事件在表A,窗口1 |
||||
-- 作者:有点甜 -- 发布时间:2018/10/30 18:30:00 --
你给的实例和你的问题不相符。请上传具体的实例,可以测试的实例,并说明测试过程。
不然,实现这个功能【当扫描一次输入一整段内容的时候,你要把每一行的内容分割出来,然后分别新增行处理才行】 |