Динамический Colspan для td в xslt

У меня есть...

<tr>
<xsl:variable name="noofrows" select="count(ChargeGroupsVo)"></xsl:variable>
<td colspan="$noofrows" style="border-top: 1px solid black;padding: 5px;"></td>
</tr>

Здесь ChargeGroupsVo - это класс данных, насчитывающий около 8, я хочу, чтобы он считался 8 как colspan .... Тип вывода xslt - HTML Как это сделать ...


person Venki Chikkanti    schedule 27.10.2012    source источник


Ответы (2)


Здесь вам необходимо использовать «Шаблоны значений атрибутов».

Вместо этого ....

 <td colspan="$noofrows" style="border-top: 1px solid black;padding: 5px;"></td>

Вам нужно это сделать

<td colspan="{$noofrows}" style="border-top: 1px solid black;padding: 5px;"></td>

Фигурные скобки {} указывают на то, что это выражение, которое нужно вычислить, а не что-то, что нужно вывести буквально.

Фактически, вам вообще не нужна переменная. Ты тоже можешь это сделать:

<td colspan="{count(ChargeGroupsVo)}" style="border-top: 1px solid black;padding: 5px;"></td>
person Tim C    schedule 27.10.2012

я сделал это...

<td>
                                                <xsl:for-each select="ChargeGroupNames">
                                                    <xsl:variable name="norows" select="count(ChargeGroupsVo)"></xsl:variable>
                                                    <xsl:if test="$norows &gt; 1">
                                                        <xsl:attribute name="colspan">
                                                            <xsl:value-of select="$norows + 2"/>
                                                        </xsl:attribute>
                                                    </xsl:if>
                                                </xsl:for-each>
</td>

динамически добавляемый атрибут и значение ....

person Venki Chikkanti    schedule 29.10.2012