我有一个显示我的ID的简单cfgrid。我希望id成为新页面的链接,传递带有id值的url参数“myID”。
我试过这段代码:
<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 documentation,您应该可以这样做:
href - URL 或查询列名称,其中包含用于超链接每个网格的URL 专栏。
(斜体矿)
但我收到错误“myURL is not defined
”。如何将href设置为列而不是文字网址值?
答案 0 :(得分:1)
这类似于使用href的<cftree>
/ <cftreeitem>
问题。似乎没有内置的解决方案。要么处理提供的密钥并使用出站URL重写重命名整个地址(IIS具有本机支持,Apache可以使用UrlRewriteFilter执行此操作),或者您可能只是切换到不同的基于Javascript的网格。
答案 1 :(得分:0)
此页面中有一个解决方案:
使用
定义新列<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">