none
将1:N关系的界面上"添加现有****"按钮隐藏掉 RRS feed

  • 问题

  • 请教各位MVP,如何将1:N关系的界面上"添加现有****"按钮隐藏掉?


    我燃烧在我的青春中,放纵、漂泊了我的野性和骄傲。
    2009年8月27日 9:59

答案

  • 刚在网上找了个方法,和小宁的道理基本一致,试了一下,可以实现功能,在这里贴出来和大家分享:

    第一步:
    可以在主实体页面的On_Load()里面添加如下代码:
    HideAssociatedViewButtons('realationid', ['title']);
    上面的:
      realationid--代表用户建立产品信息与主信息关系名称;
      title--代表产品信息左边超链接Li的title属性(即用户停在“添加现有产品信息”按钮上的提示信息)

    第二步:
    在crm网页的wwwroot\_static\_controls\RemoteCommands\RemoteCommand.js路径下添加如下公用javascript方法:

    //loadAreaId : 主档与明细之间的关系名
    //buttonTitles: 要隐藏的按钮Title(可以为多个)
    function HideAssociatedViewButtons(loadAreaId, buttonTitles)
    {   
       var str='nav_'+loadAreaId;
        var navElement = document.getElementById(str);   
        if (navElement !=null)   
        {       
            navElement.onclick =function LoadAreaOverride()       
                {    
                    loadArea(loadAreaId);           
                    HideViewButtons(document.getElementById(loadAreaId +'Frame'), buttonTitles);       
                }   
        }
    }
    //1:n关系中界面的按钮隐藏掉。
    function HideViewButtons(Iframe, buttonTitles)
    {
        if (Iframe !=null )
        {       
            Iframe.onreadystatechange =function HideTitledButtons()
            {           
                if (Iframe.readyState =='complete')
                {             
                    var iFrame = frames[window.event.srcElement.id];               
                    var liElements = iFrame.document.getElementsByTagName('li');                 
                    for (var j =0; j < buttonTitles.length; j++)
                    {                   
                        for (var i =0; i < liElements.length; i++)
                        {                       
                            if (liElements[i].getAttribute('title') == buttonTitles[j])
                            {                           
                                liElements[i].style.display ='none';                           
                                break;                       
                            }                   
                        }               
                    }           
                }       
            }   
        }
    }


    我燃烧在我的青春中,放纵、漂泊了我的野性和骄傲。
    • 已标记为答案 oytang 2009年8月28日 2:13
    2009年8月28日 2:13

全部回复

  • http://www.cnblogs.com/janmson/archive/2009/04/29/1445991.html
    2009年8月28日 1:41
  • 刚在网上找了个方法,和小宁的道理基本一致,试了一下,可以实现功能,在这里贴出来和大家分享:

    第一步:
    可以在主实体页面的On_Load()里面添加如下代码:
    HideAssociatedViewButtons('realationid', ['title']);
    上面的:
      realationid--代表用户建立产品信息与主信息关系名称;
      title--代表产品信息左边超链接Li的title属性(即用户停在“添加现有产品信息”按钮上的提示信息)

    第二步:
    在crm网页的wwwroot\_static\_controls\RemoteCommands\RemoteCommand.js路径下添加如下公用javascript方法:

    //loadAreaId : 主档与明细之间的关系名
    //buttonTitles: 要隐藏的按钮Title(可以为多个)
    function HideAssociatedViewButtons(loadAreaId, buttonTitles)
    {   
       var str='nav_'+loadAreaId;
        var navElement = document.getElementById(str);   
        if (navElement !=null)   
        {       
            navElement.onclick =function LoadAreaOverride()       
                {    
                    loadArea(loadAreaId);           
                    HideViewButtons(document.getElementById(loadAreaId +'Frame'), buttonTitles);       
                }   
        }
    }
    //1:n关系中界面的按钮隐藏掉。
    function HideViewButtons(Iframe, buttonTitles)
    {
        if (Iframe !=null )
        {       
            Iframe.onreadystatechange =function HideTitledButtons()
            {           
                if (Iframe.readyState =='complete')
                {             
                    var iFrame = frames[window.event.srcElement.id];               
                    var liElements = iFrame.document.getElementsByTagName('li');                 
                    for (var j =0; j < buttonTitles.length; j++)
                    {                   
                        for (var i =0; i < liElements.length; i++)
                        {                       
                            if (liElements[i].getAttribute('title') == buttonTitles[j])
                            {                           
                                liElements[i].style.display ='none';                           
                                break;                       
                            }                   
                        }               
                    }           
                }       
            }   
        }
    }


    我燃烧在我的青春中,放纵、漂泊了我的野性和骄傲。
    • 已标记为答案 oytang 2009年8月28日 2:13
    2009年8月28日 2:13