2011-06-07 30 views
0

我正在尝试CFGRID第一次。虽然网格本身工作得很好,但我无法在列中使用Fancybox链接。我在下面添加了相关的代码。基本上,我做一个查询,添加包含一个链接,然后将结果输出在CFGRID查询列:Fancybox似乎没有与Coldfusion CFGRID标记一起工作

<cfquery name="qSessions" datasource=""> 
    SELECT id, title 
    FROM EVENTS 
    WHERE c_fkid = 1 
</cfquery> 
<cfset QueryAddColumn(qSessions,"edit_link","varchar",ArrayNew(1))> 
<cfset i = 0> 
<cfloop query="qSessions"> 
    <cfset i = i + 1> 
    <cfset thisText = "<a href='./datagridFB.cfm?no_app=1' class='edit-session' id=" & i & ">Edit this session</a>"> 
    <cfset QuerySetCell(qSessions,"edit_link",thisText, currentRow)> 
</cfloop> 


<head> 
    <!--- Javascript library/CSS links would go here ---> 
    <script type="text/javascript"> 
     $j = jQuery.noConflict(); 

     /* Reload the page */ 
     function refreshParent(){ 
      window.location.reload(true); 
     } 

     /* Initialization actions on doc ready */ 
     $j(document).ready(function() { 
      $j(".edit-session").fancybox({ 
       'width'    : 600, 
       'height'   : 350, 
       'hideOnContentClick': false, 
       'transitionIn'  : 'elastic', 
       'transitionOut'  : 'fade', 
       'type'    : 'iframe', 
       'href'    : $j(this).href, 
       'overlayOpacity' : 0.6, 
       'onCleanup'   : function(){refreshParent()} 
      }); 
     }); 
    </script>  
</head> 

<body> 
    <!---Test Fancybox links outside the CFGRID---> 
    <a href="./datagridFB.cfm?no_app=1" id="test-link" class="edit-session">Test FB</a> 

    <!--- Output the results of the query ---> 
    <h2 class="header">Sessions in the Database</h2> 
    <cfform id="testForm" name="testForm" method="post"> 
     <cfgrid name="testGrid" format="html" query="qSessions" width="500"> 
      <cfgridcolumn name="id" header="ID"> 
      <cfgridcolumn name="title" header="Session Title" width="300"> 
      <cfgridcolumn name="edit_link" header="Edit"> 
     </cfgrid> 
    </cfform> 
</body> 

的事情是,测试连接(CFGRID外)的作品就好了。点击它并打开Fancybox iFrame。但是,CFGRID内部的链接不会产生一种傀儡 - 它们会直接带您进入页面。任何人都可以提供一些指导呢?这与CFGRID建立在Ext.js之上的事实有关吗?谢谢!

回答

1

不幸的是,混合jQuery和cfform的ajax从来都不是一个好主意。也许考虑将cfgrid的使用移植到jQuery网格插件之一?

或使用<cfwindow>而不是Fancybox?

+0

我很害怕这个。谢谢。我可能会尝试一个jQuery网格。如果我用CFGRID找到解决这个问题的方法,那么我会把它放回原点。 – Dave 2011-06-07 21:04:32