以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 重复值显示颜色  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150736)

--  作者:sanny
--  发布时间:2020/6/6 8:51:00
--  [求助] 重复值显示颜色
请教一下,表中第一列中有许多相同的内容,如何在表属性的drawcell中表示,把相同的记录都用红色显示,并且只要相同记录的话,第二列逻辑列中只能勾选其中一个记录,其余相同的记录就不可以勾选 了? 感谢。
--  作者:有点蓝
--  发布时间:2020/6/6 10:29:00
--  
drawcell
if e.table.compute("count(第一列)","第一列=\'" & e.row("第一列") & "\'") > 1 then
e.style = "样式1"
end if

datacolchanging事件
 if e.datacol.name = "某逻辑列"
if e.datatable.compute("count(第一列)","第一列=\'" & e.datarow("第一列") & "\' and _Identify<>" & e.datarow("_Identify")) > 0 then
e.cancel = true
end if
end if

--  作者:sanny
--  发布时间:2020/6/6 15:54:00
--  

谢谢,以下有点不对,出现调用失败,如图。 两笔相同的记录还是中以同时选中的。 顺便说一下这个第一列是文本型的,有关系吗?


 if e.datacol.name = "某逻辑列"
if e.datatable.compute("count(第一列)","第一列=\'" & e.datarow("第一列") & "\' and _Identify<>" & e.datarow("_Identify")) > 0 then
e.cancel = true
end if
end if

[此贴子已经被作者于2020/6/6 15:55:35编辑过]

--  作者:有点蓝
--  发布时间:2020/6/6 16:00:00
--  
If e.DataCol.name = "某逻辑列名称"
    If e.DataTable.compute("count(第一列)","第一列=\'" & e.DataRow("第一列") & "\' and 某逻辑列名称=true and _Identify<>" & e.DataRow("_Identify")) > 0 Then
        e.cancel = True
    End If
End If

--  作者:sanny
--  发布时间:2020/6/6 16:37:00
--  
正确,可以帮忙也改成控件的代码吗 ? 
--  作者:有点蓝
--  发布时间:2020/6/6 16:43:00
--  
什么控件?请详细说明
--  作者:sanny
--  发布时间:2020/6/6 16:46:00
--  
窗口中的Button1,谢谢。
--  作者:有点蓝
--  发布时间:2020/6/6 17:06:00
--  
dm r as row = tables("xxx"),current
If r isnot nothing
    If DataTables(“xxx”).compute("count(第一列)","第一列=\'" & r("第一列") & "\' and 某逻辑列名称=true and _Identify<>" & r("_Identify")) > 0 Then
        msgbox("已勾选")
    End If
End If