Я хотел бы изменить имена столбцов базы данных веб-части списка BDC с помощью файла XSL.
Мой SQL-запрос "Select BATCH_ID..."
, я хочу изменить имя этого столбца "BATCH_ID"
на "ID"
, используя XSL. Я также хочу знать, как $ColName_0
заполняется значением 'BATCH_ID'
?
Внутри шаблона dvt.headerfield
это сортировка и добавление меню сортировки. Но $ColName_0
заполняется до вызова этого шаблона. Код XSLT следующий:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:asp="http://schemas.microsoft.com/ASPNET/20"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:SharePoint="Microsoft.Sharepoint.WebControls"
exclude-result-prefixes="xsl msxsl ddwrt"
>
<xsl:output method="xml" indent="yes"/>
<xsl:param name="dvt_partguid" />
<xsl:param name="ColName_0"></xsl:param>
<xsl:template name="dvt.headerfield">
<xsl:param name="fieldname" />
<xsl:param name="fieldtitle" />
<xsl:param name="displayname" />
<xsl:param name="fieldtype">0</xsl:param>
<table CtxNum="1" cellspacing="0" class="ms-unselectedtitle" onmouseover="OnMouseOverAdHocFilter(this, '{concat($displayname,$fieldname, $fieldtype, $dvt_partguid)}')">
<tr>
<td width="100%" class="ms-vb" nowrap="">
<a>
<xsl:attribute name="href">javascript: <xsl:value-of select="ddwrt:GenFireServerEvent(('dvt_sortfield;dvt_sortdir'))" />;</xsl:attribute>
<xsl:value-of select="$fieldtitle"/>
</a>
</td>
<td>
<img src="/_layouts/images/blank.gif" width="13" style="visibility: hidden" alt="" />
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="/">
<xsl:call-template name="dvt_1" />
</xsl:template>
<xsl:template name="dvt_1">
<xsl:variable name="dvt_StyleName">Table</xsl:variable>
<table id="BdwpRows" border="0" width="100%" cellpadding="2" cellspacing="0">
<tr valign="top">
<th class="ms-vh" width="1" />
<th class="ms-vh" align="left">
<xsl:call-template name="dvt.headerfield" ddwrt:atomic="1">
<xsl:with-param name="fieldname">@BATCH_ID</xsl:with-param>
<xsl:with-param name="fieldtitle">
<xsl:value-of select="$ColName_0" />
</xsl:with-param>
<xsl:with-param name="displayname">
<xsl:value-of select="$ColName_0" />
</xsl:with-param>
<xsl:with-param name="fieldtype">text</xsl:with-param>
</xsl:call-template>
</th>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>