以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  条件添加数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187660)

--  作者:hopestarxia
--  发布时间:2023/8/2 16:01:00
--  条件添加数据
老师,我想选择 型号管理_Table1 的行添加到  窗口 Table2,
在添加前先检查一下 Table2是不是 也存在 型号管理_Table1 中选择的型号,如果没有,就实现添加,如果有这行就不添加,代码不起作用,请问是什么地方的问题?

Dim rs As List(of Row) = Tables("型号管理_Table1").GetCheckedRows()
For Each r As Row In rs
   Dim t1 As Table = e.form.Controls("Table2").Table
   If t1.Compute("count(fjid))"," fjid = \'" &  r("id") & "\' ") = 0 Then  (查询窗口 Table2 中 型号ID 等于 型号表中选择行的型号ID
   Dim nr As DataRow = DataTables("ydgl").Addnew
    nr("fjid") = r("id")
    nr("tfxh") = r("序号")
    nr("tfmc") = r("名称")
   End If
   r.checked = False
Next

--  作者:有点蓝
--  发布时间:2023/8/2 16:13:00
--  
Dim rs As List(of Row) = Tables("型号管理_Table1").GetCheckedRows()
For Each r As Row In rs
   If DataTables("ydgl").Compute("count(fjid))"," fjid = \'" &  r("id") & "\' ") = 0 Then  (查询窗口 Table2 中 型号ID 等于 型号表中选择行的型号ID
   Dim nr As DataRow = DataTables("ydgl").Addnew
    nr("fjid") = r("id")
    nr("tfxh") = r("序号")
    nr("tfmc") = r("名称")
   End If
   r.checked = False
Next

--  作者:hopestarxia
--  发布时间:2023/8/4 13:44:00
--  
谢谢老师,
老师,我如果想通过颜色方案,
即 型号管理_Table1 的型号 如果在  Table2 中已经存在(即已经添加的型号),则该型号行显示红色标记出来,这样就明显了,请问这样该如何处理?

--  作者:有点蓝
--  发布时间:2023/8/4 13:48:00
--  
http://www.foxtable.com/webhelp/topics/0656.htm
--  作者:hopestarxia
--  发布时间:2023/8/4 14:42:00
--  
老师,这个DrawCell绘制这个我会使用,我是想要绘制的条件这里为 
Table1 表要绘制颜色的条件为 Table2 中存在的记录;而 Table2是一个新增表,并未实际保存前。
即 型号管理_Table1 的型号 如果在  Table2 中已经存在(即已经添加的型号),则该型号行显示红色标记出来,这样就明显了,请问这样该如何处理?
--  作者:有点蓝
--  发布时间:2023/8/4 14:53:00
--  
drawcell里使用datatable.find函数到Table2查询有没有同型号的记录不就行了
--  作者:hopestarxia
--  发布时间:2023/8/4 15:26:00
--  
谢谢老师,没有使用过 datatable.find,假如 产品型号表 Table1,已选产品表  Table2,他们的相同主健为  cpid,
请问代码具体应该是怎么的,在 
Table1 中将所有 Table2 中包含的产品行全部用上颜色方案;


            e.Style = "a" \'  
   

--  作者:有点蓝
--  发布时间:2023/8/4 15:31:00
--  
http://www.foxtable.com/webhelp/topics/0396.htm

If e.Col.Name = "cpid" Then 
  if datatables("table2").find("
cpid=\'" & e.row("cpid") & "\'") isnot nothing then
e.Style = "a" 
end if
End IF

--  作者:hopestarxia
--  发布时间:2023/8/5 0:32:00
--  
谢谢老师!