以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 多控件的下拉菜单提示错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59414)

--  作者:wumingrong1
--  发布时间:2014/11/3 21:59:00
--  [求助] 多控件的下拉菜单提示错误
我在TreeView1的NodeMouseClick写有以下命令,当我的控件数值从1~9的时候都没有问题,但是当控件的数值为10的时候就出现错误提示,这是为什么?


If Forms("设备端口成端窗口(2M)").Opened() Then
    
    Dim i As String = Right(e.Form.DropDownBox.Name, 1)  

    Forms("设备端口成端窗口(2M)").Controls("板盘类型" & i).Value = Nothing
    Forms("设备端口成端窗口(2M)").Controls("板盘端子名称" & i).Value = Nothing
    Forms("设备端口成端窗口(2M)").Controls("机柜编号" & i).Value = Nothing
    
    If e.Node.Level = 2 Then \'如果单击的是第二层节点
        Dim ps() As String = e.Node.FullPath.Split("\\")
        Dim dr As DataRow = DataTables("机房板盘端子台帐表").Find("板盘类型 = \'" & ps(0) & "\'And 机柜编号 = \'" & ps(1) & "\' And 板盘端子名称 = \'" & ps(2) & "\'")
        If dr IsNot Nothing Then \'如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.            
            Forms("设备端口成端窗口(2M)").Controls("板盘类型" & i).Text = dr("板盘类型")
            Forms("设备端口成端窗口(2M)").Controls("板盘端子名称" & i ).Text = dr("板盘端子名称")
            Forms("设备端口成端窗口(2M)").Controls("机柜编号" & i).Text = dr("机柜编号")            
            e.Form.DropDownBox.Value = dr("板盘类型" ) \'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
        End If
        e.Form.DropDownBox.CloseDropdown()  \'关闭下拉目录树       
    End If    
End If


当选择的是“板盘类型10”时,弹出以下错误提示


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141103215213250.jpg
图片点击可在新窗口打开查看<br/>


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141103215346875.jpg
图片点击可在新窗口打开查看<br/>


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141103215403953.jpg
图片点击可在新窗口打开查看<br/>

--  作者:有点甜
--  发布时间:2014/11/3 22:04:00
--  
Dim i As String = e.Form.DropDownBox.Name.Substring(e.Form.DropDownBox.Name.LastIndexOf("口")+1)
--  作者:wumingrong1
--  发布时间:2014/11/3 22:36:00
--  
我在表DataColChanged中写有以下命令;想实现功能为:1、当该表中存在“操作记录_修改日期”列时,在该列中填入 服务器的当前‘日期和时间’;2、如果某行内容发生修改时,在操作记录_修改日期”单元格中将‘日期和时间’修改为 服务器的当前 ‘日期和数时间’;以下公式该如何修改?


以下公式:1、能够在新增行时能够记录下服务器‘日期’、而不是‘日期+时间’;2、当该行进行修改后、替换的是本机‘日期’、而不是服务器的‘日期+时间’。

If e.DataTable.DataCols.Contains("操作记录_修改日期")  Then \'如果当前表中存在"*****"列
    
    Dim cmd As New SQLCommand
    Dim dt As Date
    cmd.C
    cmd.CommandText = "Select GetDate()"
    dt = cmd.ExecuteScalar()
    dt = dt.Date
    
    \'e.DataRow("操作记录_增加日期") = dt
    
    
    If dt <> e.DataRow("操作记录_修改日期") Then \'如果"*****"日期列的日期不等于当前电脑日期
        
        e.DataRow("操作记录_修改日期") = dt \'在"*****"列纪录下当前电脑日期
        
        
    End If  \'结束

--  作者:有点甜
--  发布时间:2014/11/3 22:39:00
--  

1、该列,表属性,设置日期格式成 datelongtime

 

2、用你上面的代码,去掉一些判断就行了。


--  作者:wumingrong1
--  发布时间:2014/11/3 22:55:00
--  
操作记录_修改日期“列的 列属性 已经修改为 DateTime 格式,还是不行;修改数据后所显示的时间都是 00:00


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141103225711671.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/11/3 22:56:00
--  
 DataLongTime
--  作者:有点甜
--  发布时间:2014/11/3 22:57:00
--  
 同时,你要重新赋值,才能得到带有时间的。
--  作者:wumingrong1
--  发布时间:2014/11/3 22:58:00
--  
改成  DataLongTime  也是一样  00:00:00;我选了其中一行进行了数据修改,保存;但是时间就是没有变化


新增加一行,保存;再修改该行,再保存。  其中时间始终是00:00:00
[此贴子已经被作者于2014-11-3 23:01:14编辑过]

--  作者:有点甜
--  发布时间:2014/11/3 23:41:00
--  

 哦,你那句 dt = dt.Date 去掉,这句代码的意思是取日期值,不要时间


--  作者:wumingrong1
--  发布时间:2014/11/4 15:36:00
--  
如附件中所属,

1、在录入 第一个“板盘类型”时,第二个一起录入,这是什么原因?

2、点击“新增电路”时,没有办法录入‘机柜编号2’和‘板盘端子名称2’的内容


图片点击可在新窗口打开查看此主题相关图片如下:360截图20140101153621671.jpg
图片点击可在新窗口打开查看



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.foxdb



[此贴子已经被作者于2014-11-4 15:51:31编辑过]