4

我有一个简单的 cfgrid 显示我的 ID。我希望 id 是指向新页面的链接,传递带有 id 值的“myID”的 url 参数。

我试过这段代码:

<cfgrid name="myGrid" query="myQuery" format="html">
   <cfgridcolumn name="myID" href="mynewpage.cfm" />
</cfgrid>

但这会将我带到网址“mynewpage.cfm?hrefkey = 111”。我真正想要的是“mynewpage.cfm?myID = 111”。有没有办法指定 url 参数的名称应该是什么?

我也试过:

<cfgrid name="myGrid" query="myQuery" format="html">
   <cfgridcolumn name="myID" href="mynewpage.cfm?myID=#myID#" />
</cfgrid>

但后来我得到错误“ myID is not defined”。有没有办法从 cfgridcolumn 标记中引用查询字段值?

更新:

我尝试过的另一件事 - 在 sql 查询中构建字符串,以便我返回一个名为myURL“mynewpage.cfm?myID=111”的列,然后将该列用于 href 属性:

<cfgrid name="myGrid" query="myQuery" format="html">
   <cfgridcolumn name="myID" href="#myURL#" />
</cfgrid>

根据coldfusion文档,您应该能够做到这一点:

href - URL或查询列名称,其中包含用于超链接每个网格列的 URL。

(斜体我的)

但我得到错误“ myURL is not defined”。如何将 href 设置为列而不是文字 url 值?

4

2 回答 2

1

这类似于使用 href的<cftree>/问题。<cftreeitem>似乎没有内置的解决方案。您可以处理提供的密钥并使用出站 URL 重写重命名整个地址(IIS 具有本机支持,Apache 可以使用UrlRewriteFilter执行此操作),或者您可能只是切换到不同的基于 Javascript 的网格。

于 2013-01-14T22:15:44.683 回答
0

此页面中有一个解决方案:

http://www.houseoffusion.com/cfdocs1/Developing_Web_Applications_with_ColdFusion/14_Building_Dynamic_Forms/dwa14_09.htm

使用定义一个新列

<cfset queryAddColumn(SPEREQ_QRY_UNFULFILLED, "CUST_LINK", ArrayNew(1)) />

<cfloop query="SPEREQ_QRY_UNFULFILLED">
  <cfset querySetCell(SPEREQ_QRY_UNFULFILLED, "CUST_LINK","index.cfm?action=contact_info&cust_id=#SPEREQ_QRY_UNFULFILLED.CUST_CNTCT_LMS_ID#", SPEREQ_QRY_UNFULFILLED.currentRow) />
</cfloop>

在显示中使用这个新列 cust_link

<cfgridcolumn name = "CUST_CNTCT_LMS_ID" header="CustID"  
     href="CUST_LINK" target="_blank" width="20">
<CFGRIDCOLUMN NAME="CUST_LINK" DISPLAY="No">
于 2013-11-19T16:42:25.463 回答