以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  PrepareEdit事件写入以下代码,不对。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92543)

--  作者:yancheng
--  发布时间:2016/11/6 17:01:00
--  PrepareEdit事件写入以下代码,不对。

PrepareEdit写入: 请教一下,应该怎么改写,放到哪里合适?

If e.IsFocusCell Then

    Sele ct Case e.Col.Name

         Case "品牌","用途","信号类型","传输方式","分辨率","外观","供电方式","功能","安装方式","特殊应用","安装环境","四级分部"

            Dim dr As DataRow = DataTables("材料子类").Find("子目编码 = \'" & e.Row("子目编码") & "\'")

            If dr Is Nothing Then

                Return

            Else

                Dim dr1 As DataRow = DataTables("材料子类").Find("子目编码 = \'" & e.Row("子目编码") & "\' and 四级分部 = \'" & e.Row("四级分部") & "\' ")

                If dr1 Is Nothing Then

                        If e.Col.Name ="四级分部"  Then \'如果正在编辑的是县市列

                            \'从行政区域表提取该省市的县市作为列表项目

                            e.Col.Combolist = DataTables("材料子类").GetComboListString("四级分部", "[子目编码] = \'" & e.Row("子目编码") & "\'")

                        End If

                    \'If MessageBox.show("\'四级分部\'列可设置,是否设置?","提示!",MessageBoxButtons.YesNo)=DialogResult.Yes Then

                        \'\'e.Table.Select(e.Row.Index,e.Table.Cols("四级分部").Index)

                    \'Else

                        Return

                    \'End If

                Else

                    Dim strs() As String = {"品牌","用途","信号类型","传输方式","分辨率","外观","供电方式","功能","安装方式","安装环境","特殊应用"}

                    For Each str As String In strs

                        If e.Col.Name = str  Then \'如果正在编辑的是县市列

                            \'从行政区域表提取该省市的县市作为列表项目

                            e.Col.Combolist = DataTables("材料子类").GetComboListString(str, "[子目编码] = \'" & e.Row("子目编码") & "\' and [四级分部] = \'" & e.Row("四级分部") & "\'")

                        End If

                    Next

                End If

            End If

    End Sel ect

End If



--  作者:有点青
--  发布时间:2016/11/6 17:04:00
--  

prepareEdit事件,不能加上msgbox的弹出框。

 

如果要提示,可以写到startEdit事件去。

 

你具体是什么问题?


--  作者:yancheng
--  发布时间:2016/11/6 17:08:00
--  
e.Col.Combolist = DataTables("材料子类").GetComboListString("四级分部", "[子目编码] = \'" & e.Row("子目编码") & "\'")

这个生成的列表项目,怎么取消它?用什么代码?

--  作者:wyz20130512
--  发布时间:2016/11/6 17:13:00
--  

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

另:提问时,最好用图片或问题描述,最好不要用大段代码。
[此贴子已经被作者于2016/11/6 17:15:06编辑过]

--  作者:有点青
--  发布时间:2016/11/6 17:48:00
--  

方法一

 

e.Col.Combolist = Nothing

 

方法二

 

Tables("表名").Cols("列名").Combolist = Nothing