以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  可以设置某一行的Combolis属性和格式属性吗  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=80450)

--  作者:漂亮美眉vszh
--  发布时间:2016/1/23 10:35:00
--  可以设置某一行的Combolis属性和格式属性吗
老师们,有两个问题:1.某列为双精度类型,但我要将这列的某行(汇总行和汇总比率行)类型更改为文本型和指定的Format格式,报错,

    Dim i1 As Double
    Dim ii1 As Double
    i1 = DataTables("全检子表").Compute("Count(实测值样品1判定)","全检单编号 = \'" & Tables("全检子表").Current("全检单编号")  & "\' And 规格标准 <> \'汇总\' And 规格标准 <> \'汇总比率\'")

    ii1 = DataTables("全检子表").Compute("Count(实测值样品1判定)","全检单编号 = \'" & Tables("全检子表").Current("全检单编号") & "\' And 实测值样品1判定 = \'OK\' And 规格标准 <> \'汇总\'And 规格标准 <> \'汇总比率\'")
Dim dr As DataRow
dr = DataTables("全检子表").Find("规格标准 = \'汇总比率\' And 全检单编号 = \'" & Tables("全检子表").Current("全检单编号") & "\'") \'找出编号为03的产品
MessageBox.Show(i1)
MessageBox.Show(ii1)
If dr IsNot Nothing Then

dr("实测值样品1") = ii1 / i1
MessageBox.Show(ii1/i1)
Dim rr As DataRow
If dr("实测值样品1") > 0.999 Then

rr = DataTables("全检子表").Find("规格标准 = \'汇总\' And 全检单编号 = \'" & Tables("全检子表").Current("全检单编号") & "\'") \'找出编号为03的产品
rr("实测值样品1") = "OK"
MessageBox.Show("OK")
Else
rr("实测值样品1") = "NG"
MessageBox.Show("NG")
End If
End If 
                  2.可以设置某一行的Combolis属性,可下拉选择,其他行不需要,代码也一直报错~~
 Dim rs As Row = Tables("APQP基本资料主表.AQPQ基本资料子表").addnew()
rs("项目编号") = Tables("APQP基本资料主表").Current("项目编号")
rs("序号") = lb.value
         
rs("项目") = "相关"
rs("运输").Combolis = "○|⊙|▲|△"

--  作者:漂亮美眉vszh
--  发布时间:2016/1/23 10:36:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160119200312.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

--  作者:Hyphen
--  发布时间:2016/1/23 11:02:00
--  
1. 直接赋值即可:rr("实测值样品1") = "OK"

2. 是Combolist,不是Combolis,动态列表项目参考


--  作者:漂亮美眉vszh
--  发布时间:2016/1/23 12:25:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:101.png
图片点击可在新窗口打开查看
以下是引用Hyphen在2016/1/23 11:02:00的发言:
1. 直接赋值即可:rr("实测值样品1") = "OK"

2. 是Combolist,不是Combolis,动态列表项目参考

1.直接赋值不行,报错,直接转换%格式也不行,用CSTR强制转换也不行,

图片点击可在新窗口打开查看此主题相关图片如下:44.png
图片点击可在新窗口打开查看
2.用了动态列表,当行内的值等于"相关"时,执行代码,可是当行的值不等于"相关"时,也有下拉列表奇怪
If e.IsFocusCell Then
If e.Col.Name = "运输" 
\'Or e.Col.Name = "出货" Or e.Col.Name = "包装" Or e.Col.Name = "全检" Or e.Col.Name = "CCD2" Then
        Select Case e.Row("项目")
            Case "相关"
                e.Col.ComboList = "1|2"
            
        End Select
  End If
End If
图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看


--  作者:Hyphen
--  发布时间:2016/1/23 14:06:00
--  
数值列显示文本,可以参考drawcell事件:http://www.foxtable.com/help/topics/0656.htm,示例三




--  作者:Hyphen
--  发布时间:2016/1/23 14:19:00
--  
If e.IsFocusCell Then
If e.Col.Name = "运输" 
\'Or e.Col.Name = "出货" Or e.Col.Name = "包装" Or e.Col.Name = "全检" Or e.Col.Name = "CCD2" Then
        Select Case e.Row("项目")
            Case "相关"
                e.Col.ComboList = "1|2"
            Case else
                e.Col.ComboList = ""
        End Select
  End If
End If