Foxtable(狐表)用户栏目专家坐堂 → [求助]求助这个代码应该怎么修改


  共有9965人关注过本帖树形打印复制链接

主题:[求助]求助这个代码应该怎么修改

帅哥哟,离线,有人找我吗?
yumo123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
[求助]求助这个代码应该怎么修改  发帖心情 Post By:2013/1/23 11:10:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-01-23_11-02-28.png
图片点击可在新窗口打开查看

我想在“拼音/简码”列里面实现   如果“名称”列有内容 则显示名称列的拼音,如果“委托代理人”列有内容 则显示委托代理人的拼音,如果“名称”列和"委托代理人"列都有内容,则显示委托代理人的拼音。

分开来写我知道是这样写,
Select Case e.DataCol.name
       Case "名称"                                
        If e.DataRow.IsNull("名称") Then     
            e.DataRow("拼音") = Nothing           
        Else
            e.DataRow("拼音") = GetPy(e.NewValue) 
        End If
      Case "委托代理人"                              
        If e.DataRow.IsNull("委托代理人") Then        
            e.DataRow("拼音") = Nothing        
        Else
            e.DataRow("拼音") = GetPy(e.NewValue) 
        End If
end if

但是合起来一起写应该怎么写啊??望指教~~~

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 11:35:00 [显示全部帖子]

谢谢林大,但是这样写 当名称列输入时 有拼音,当名称列 委托代理人列 都输入时,也符合条件 。但是当名称列为空,委托代理人列有字符时,则显示不出来。望指教~~~

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 13:09:00 [显示全部帖子]

谢谢林大 ,但是还是发现了个小问题  当名称列 与 委托代理人列 都输入字符后, 在delete删除任意一列的字符,则弹出错误窗口,显示 “调用的目标发生了异常”。请问这是什么原因。

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 13:26:00 [显示全部帖子]

谢谢程总, 已经尝试了,且对于初学者的我,可以一眼就看出代码意思。表示感谢!!林大的代码还是有些小看不懂。图片点击可在新窗口打开查看

但是您的代码 和林大的代码 都出现这样的问题。

就是 当名称列 与 委托代理人列 都输入字符后,再任意delete删除两列当中的任意一列字符,都显示 “调用的目标发生了异常”。

请问这是什么原因造成的??

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 13:58:00 [显示全部帖子]

最终依据程总的代码意思,经自己修改后,不再出现任何错误提示,望大家指点、简化。 代码如下!!

Select Case e.DataCol.name
    Case "名称", "委托代理人"
        If e.DataRow.IsNull("委托代理人") =False And e.DataRow.IsNull("名称") =False Then
            e.DataRow("拼音") = GetPy(e.DataRow("委托代理人"))
        ElseIf e.DataRow.IsNull("委托代理人") And e.DataRow.IsNull("名称") Then
            e.DataRow("拼音") = Nothing
        ElseIf e.DataRow.IsNull("委托代理人") =True And e.DataRow.IsNull("名称") =False Then
            e.DataRow("拼音") = GetPy(e.DataRow("名称"))
        ElseIf e.DataRow.IsNull("委托代理人") =False And e.DataRow.IsNull("名称") = True Then
            e.DataRow("拼音") = GetPy(e.DataRow("委托代理人"))         
        Else e.DataRow("拼音") = GetPy(e.NewValue)
        End If
End Select



 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 15:14:00 [显示全部帖子]

狐爸爸果然厉害,代码简练。

我依据自己写的代码这个代码,没有任何问题。
 
Case "委托方代理人", "委托方名称"
        If e.DataRow.IsNull("委托方代理人") =False And e.DataRow.IsNull("委托方名称") =False Then
            e.DataRow("拼音") = GetPy(e.DataRow("委托方代理人"))
        ElseIf e.DataRow.IsNull("委托方代理人") And e.DataRow.IsNull("委托方名称") Then
            e.DataRow("拼音") = Nothing
        ElseIf e.DataRow.IsNull("委托方代理人") =True And e.DataRow.IsNull("委托方名称") =False Then
            e.DataRow("拼音") = GetPy(e.DataRow("委托方名称"))
        ElseIf e.DataRow.IsNull("委托方代理人") =False And e.DataRow.IsNull("委托方名称") = True Then
            e.DataRow("拼音") = GetPy(e.DataRow("委托方代理人"))
        Else e.DataRow("拼音") = GetPy(e.NewValue)
        End If

但是我举一反三 ,又写了这个代码,但是出问题了 ,按delete删除键 总是提示“调用的目标发生了异常”。这是为什么两个代码都是一个模型出来的,一个没有问题,一个老是提示错误。请教这是什么原因造成的??
    
Case "联系电话", "办公电话"
        Dim phone As String = e.NewValue.SubString(0,7)
        Dim fdr1 As DataRow = DataTables("手机号码归属地").Find("手机编码 = '" & phone & "'")
        
        Dim tele1 As String = e.NewValue.SubString(0,4)
        Dim tele2 As String = e.newvalue.Substring(0,3)
        Dim fdr2 As DataRow = DataTables("手机号码归属地").Find("区号 = '" & tele1 & "' Or 区号 = '" &  tele2 & "'")
        
        If e.DataRow.IsNull("联系电话") =False And e.DataRow.IsNull("办公电话") =False Then
            e.DataRow("号码归属地") = fdr1("地区") & " " & fdr1("卡类别")
        ElseIf e.DataRow.IsNull("联系电话") And e.DataRow.IsNull("办公电话") Then
            e.DataRow("号码归属地") = Nothing
        ElseIf e.DataRow.IsNull("联系电话") =True And e.DataRow.IsNull("办公电话") =False Then
            e.DataRow("号码归属地") = fdr2("地区") & " " & fdr2("卡类别")
        ElseIf e.DataRow.IsNull("联系电话") =False And e.DataRow.IsNull("办公电话") = True Then
            e.DataRow("号码归属地") = fdr1("地区") & " " & fdr1("卡类别")   
        Else e.DataRow("号码归属地") = fdr1(e.NewValue) And fdr2(e.NewValue)
        End If

[此贴子已经被作者于2013-1-24 21:40:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 17:42:00 [显示全部帖子]

那请问我下面这段代码应该怎么修改呢?

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/23 19:32:00 [显示全部帖子]

图片点击可在新窗口打开查看已我现在的水平真不知道应该加那个判断。不是有这么一个判断  ElseIf e.DataRow.IsNull("联系电话") And e.DataRow.IsNull("办公电话") Then e.DataRow("号码归属地") = Nothing 这样还不行吗?

我也知道这代码累赘的很,但是按照您的和 狐爸爸的 代码套模板后 还是显示调用的目标发生了异常”。

图片点击可在新窗口打开查看代码真难学啊~~我应该怎么简化代码 并且不出错呢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/24 21:48:00 [显示全部帖子]

先谢谢林老师 热情的答复,不嫌弃我麻烦。谢谢!!
再请问 林老师 这句判定代码 起一个什么作用?我看不懂这句代码在整个代码中其什么作用和表示什么意思。
最后想说一下 加上这句代码后 还是没有解决“按delete删除办公电话列 和 联系电话列 的字符时弹出 调用的目标发生了异常” 这个问题。

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-01-24_21-45-46.png
图片点击可在新窗口打开查看

真不好意 再次麻烦各位大虾。我是不是在这个简单的问题上太较真了~~图片点击可在新窗口打开查看图片点击可在新窗口打开查看 自己问的都有些不好意思了。

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:178 积分:1462 威望:0 精华:0 注册:2011/4/12 18:18:00
  发帖心情 Post By:2013/1/25 10:20:00 [显示全部帖子]

以下是引用lin_hailun在2013-1-25 9:33:00的发言:
上传一个简单的例子吧,说起来麻烦。
嗯 ,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.part01.rar

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

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



 回到顶部
总数 13 1 2 下一页