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


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

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

帅哥哟,离线,有人找我吗?
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

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

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/23 11:27:00 [只看该作者]

 这样做比较好。

Select Case e.DataCol.name
    Case "名称", "委托代理人"     
        If e.DataRow.IsNull("委托代理人") Then
            If e.DataRow.IsNull("名称") Then
                e.DataRow("拼音") = Nothing
            Else
                e.DataRow("拼音") = GetPy(e.NewValue)
            End If
        Else
            e.DataRow("拼音") = GetPy(e.NewValue)
        End If
End Select
[此贴子已经被作者于2013-1-23 11:33:17编辑过]

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


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

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

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/23 12:00:00 [只看该作者]

以下是引用yumo123在2013-1-23 11:35:00的发言:
谢谢林大,但是这样写 当名称列输入时 有拼音,当名称列 委托代理人列 都输入时,也符合条件 。但是当名称列为空,委托代理人列有字符时,则显示不出来。望指教~~~


之前写错了,已经修正,在2楼代码。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/1/23 13:06: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 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 13:09:00 [只看该作者]

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

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/1/23 13:20:00 [只看该作者]

手机回复,无法换行,请自行分割一下代码!

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


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

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

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

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
yumo123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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



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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/1/23 13:58:00 [只看该作者]

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

 回到顶部
总数 27 1 2 3 下一页