子菜单使用

feshsingle 2006-05-13 10:12:24
m_menu.item[li_mainMenu].item[ld_bh].visible = true
用for 来增加子菜单的可见项

单步后发现
数值都没有错 还是无法实现
我手动指定数值

m_menu.m_1.m_101.visible=ture

就可以执行

...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
feshsingle 2006-05-13
  • 打赏
  • 举报
回复
//定义权限索引
String ls_qx
//定义字符串索引
int li_StrIndex
//定义菜单主项索引,子项索引
int li_mainMenu,li_subMenu
//定义菜单是否可用选项
char lc_visible
//定义查找行号
long ll_rowIndex
//定义菜单显示情况
boolean lbl_visible
datastore ldt_qxCd
//权限号
integer ld_bh

ldt_qxcd = create datastore
ldt_qxcd.dataObject = "qx_select"
ldt_qxcd.settransobject(SQLCA)
ldt_qxcd.retrieve()


SELECT dbo.sys_user.USER_QX
into :ls_qx
FROM dbo.sys_user
WHERE dbo.sys_user.user_id = :gs_user;

for li_StrIndex = 1 to len(ls_qx) step 4 //4位一读
li_mainMenu = Integer(mid(ls_qx,li_StrIndex,1))
li_subMenu = Integer(mid(ls_qx,li_strIndex + 1 ,2))
lc_visible = mid(ls_qx,li_strIndex + 3, 1)
if lc_visible = '0' then
else
//m_menu.item[li_mainMenu].visible = true
//m_menu.item[li_mainMenu].item[li_subMenu].visible = true
ll_rowIndex = ldt_qxcd.find("qx_bh = '"+mid(ls_qx,li_StrIndex,3)+"'", 1, ldt_qxcd.RowCount())
if ll_rowIndex <> 0 then
dw_1.of_AddItem(ldt_qxcd.getitemString(ll_rowIndex,'qx_sjcd')&
, ldt_qxcd.getitemString(ll_rowIndex,'qx_mc'), &
ldt_qxcd.getitemString(ll_rowIndex,'qx_pic'), li_strIndex,&
ldt_qxcd.getitemString(ll_rowIndex,'qx_gndx'), "W")
ld_bh= integer(ldt_qxcd.getitemstring(ll_rowIndex,'qx_bh'))
m_menu.item[li_mainMenu].item[ld_bh].visible = true

end if
end if
next
dw_1.of_Paint()
这是个函数 用来判断权限 来显示菜单
伟大的左前卫 2006-05-13
  • 打赏
  • 举报
回复
应该没问题,完整代码贴来看看

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧