以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现一个单元格内容变化,会在另一个单元格得到相应的值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128727)

--  作者:zpsun2003
--  发布时间:2018/12/13 17:04:00
--  如何实现一个单元格内容变化,会在另一个单元格得到相应的值
在一个表里如何实现一个单元格内容变化,会在另一个单元格得到相应的值,但还能实现在改动另一个单元格的时候可以改动呢?
如一个单元格内容为1时,另一个单元格为苹果;这个单元格内容为2时,另一个单元格为香蕉,我可以手动更改另一个单元格为桔子

--  作者:zpsun2003
--  发布时间:2018/12/13 17:09:00
--  
单元格是在一列的情况下
--  作者:有点甜
--  发布时间:2018/12/13 17:54:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1459.htm

 

 


--  作者:zpsun2003
--  发布时间:2018/12/13 20:47:00
--  
两个单元格不在同一列可以实现,两个单元格在同一列中怎么实现呢
--  作者:有点甜
--  发布时间:2018/12/13 21:00:00
--  
以下是引用zpsun2003在2018/12/13 20:47:00的发言:
两个单元格不在同一列可以实现,两个单元格在同一列中怎么实现呢

 

方法一:http://www.foxtable.com/webhelp/scr/2124.htm

 

方法二:和3楼的一样,你把代码写到datacolchanging事件,动态修改 e.newvalue 的值,即可。


--  作者:zpsun2003
--  发布时间:2018/12/13 21:45:00
--  
If e.DataCol.Name = "选项1" Then
    Dim dr1 As DataRow = DataTables("初始化表_选择参数").Find("参数名称1 = \'产品型号\'")
    Dim dr2 As DataRow = DataTables("初始化表_选择参数").Find("参数名称1 = \'硅钢片牌号\'")
    Dim dr3 As  DataRow = DataTables("设计系数表").Find("性能水平代号 = \'" &  dr1("选项1") & "\'")
    If e.DataRow("_Identify") = dr1("_Identify") Then
        dr2("选项1") = dr3("推荐硅钢片牌号")
    End If
End If
老师这样判断您看没有问题吧,测试可以


--  作者:zpsun2003
--  发布时间:2018/12/13 21:49:00
--  
放在datacolchanged事件中


--  作者:有点甜
--  发布时间:2018/12/13 21:50:00
--  

不清楚你的表结构是怎样的,尽量做一个实例发上来测试。

 

If e.DataCol.Name = "选项1" Then
    Dim dr1 As DataRow = DataTables("初始化表_选择参数").Find("参数名称1 = \'产品型号\'")
    Dim dr2 As DataRow = DataTables("初始化表_选择参数").Find("参数名称1 = \'硅钢片牌号\'")
    Dim dr3 As  DataRow = DataTables("设计系数表").Find("性能水平代号 = \'" &  dr1("选项1") & "\'")
    If dr1 isnot Nothing AndAlso dr2 isnot nothing andalso e.DataRow("_Identify") = dr1("_Identify") Then
        dr2("选项1") = dr3("推荐硅钢片牌号")
    End If
End If