私はクエリの結果をループしているので、表示する行の数を制限する必要があります。私はgroup
属性を使用しているのでcfoutput
を使用する必要があり、すべての行が表示されるわけではないため、maxrows
を使用することはできません。Cfoutputから抜け出す方法
<cfoutput>
の中で<cfbreak>
を使用しようとしましたが、エラーが発生します。
<cfoutput>
ループからどのように抜け出すことができますか?
私はクエリの結果をループしているので、表示する行の数を制限する必要があります。私はgroup
属性を使用しているのでcfoutput
を使用する必要があり、すべての行が表示されるわけではないため、maxrows
を使用することはできません。Cfoutputから抜け出す方法
<cfoutput>
の中で<cfbreak>
を使用しようとしましたが、エラーが発生します。
<cfoutput>
ループからどのように抜け出すことができますか?
あなたのグループがあなたの結果から重複を削除するためだけにある場合は、それらを切り落とすためにあなたのクエリーを使用することをお勧めします(別のものを選択し、返された列リストを減らすことができます)。
結果をグループ化するためにグループを使用している場合ループ内のカウンタと最初のループ内のcfif文を実行して、後で結果を省略することができます。
あなたは可能性があり、偽のあなたが
<cfloop query="queryname">
<cfif queryname.column[currentrow-1] neq queryname.column[currentrow]>
#queryname.column#
</cfif>
</cfloop>
ランダムノートをcfbreak必要がある場合は、前の行から値を照合することによって、あなたのcfloop内のオプションによってグループ:あなたがグループ化されたCFOUTPUT
<cfset tmp = querynew('id,dd')>
<cfloop from="1" to="20" index="i">
<cfset queryaddrow(tmp,1)>
<cfset querysetcell(tmp,'id',rand(),i)>
<cfset querysetcell(tmp,'dd',(i mod 4),i)>
</cfloop>
<cfquery dbtype="query" name="tmp">select * from tmp order by dd</cfquery>
<cfoutput query="tmp" group="dd" maxrows="2">#dd#<br
<ul>
<cfoutput maxrows="2" group="id"><li>#id#</li></cfoutput>
</ul>
</cfoutput>
のいずれか/すべてのレベルでのmaxRowsすることができます
ああ!マクローズ!私はそれがそこにあることを知っていたが、この使用のために考えなかった。完璧! – Barry
スーパープラスcfoutputの任意のレベルのmaxrows!それは持っている知識の大きな部分です。 – tobylaroni
cfthrowタグを使用して、cfcatchを使用してループを中断する例外をトリガすることができます。この場合、例外を無視して処理を続行できます。それはあなたが望むものをあなたに与えるでしょう。
<cftry>
<cfset i = 0>
<cfoutput query="qMyQuery" group="someGroup">
<cfset i = i + 1>
Parent
<cfoutput>
Child
</cfoutput>
<cfif i GTE 10>
<cfthrow type="break">
</cfif>
</cfoutput>
<cfcatch type="break">
<!--- DO NOTHING - THIS IS A HACK FOR NOT BEING ABLE TO USE CFBREAK inside cfoutput. --->
</cfcatch>
</cftry>
http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=72819 – Henry
'cfoutput'は少しホテルカリフォルニア州のようなものです。 AFAIK、それを早期に打ち破るエレガントな方法はありません。 MS SQL 2005のようなデータベースを使用している場合は、cfoutputではなくSQLの行を制限することをお勧めします。 – Leigh
あなたはあなたの質問に「グループ化」することはできません。括りをなくしてから、cfloopを使用してcfbreakできますか? –