Как настроить xlstviewwebpart в SharePoint Designer 2010?
-
09-12-2019 - |
Вопрос
Я попробую редактировать xlstviewwebpart для редактирования customize. Но не получает никаких подсказок для моего сценария.
Я хочу изменить ссылку на заголовку в режиме редактирования вместо режима отображения на страницах WebPart.
Когда ссылка на ссылку заголовка его рендеринга в режиме отображения
Вот так:
Так что я хочу напрямую открыть в режиме редактирования. Любой, ктоги мне, плз?
Решение
Есть несколько способов достижения этого.
Я думаю, что наиболее предпочтительным способом является создание вычисленного поля.
1. Вычисленное поле
Точка на самом деле есть 5 "заголовка" в любом списке SharePoint:
Первый хранит данные, остальные 4 являются
Вы можете использовать аналогичный подход и добавить свое собственное вычисленное поле в список, а затем добавить его в представление списка.
Чтобы добавить вычисленное поле, вы можете использовать Addfieldasxml Метод.
Пример использования addfieldasxml для
- .
- http://aroundsharepoint.blogspot.com / 2009/02/dynamiLy-creat-spview-with-checkbox.html
P.S. Самый безопасный способ адресации формы редактирования - использовать страницу listform.aspx следующим образом:
./_layouts/listform.aspx?PageType=6&ListId={PUT-LIST-GUID-HERE}&ID=5
(значение pageType идет от Перечисление PageType )
2. Преобразование XSL
Другой вариант - использовать возможности XSLT XSLTlistViewwart . В этом случае вам необходимо написать файл XSL и прикрепите его к представлению списка, например, путем заполнения spview.xsllink Недвижимость.
Пример:
.<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal" xmlns:o="urn:schemas-microsoft-com:office:office"> <xsl:include href="/_layouts/xsl/main.xsl"/> <xsl:include href="/_layouts/xsl/internal.xsl"/> <xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() >= $FirstRow and position() <= $LastRow)]"/> <xsl:param name="dvt_apos">'</xsl:param> <xsl:template match="FieldRef[@Name='LinkTitle']" mode="Computed_LinkTitle_body"> <xsl:param name="thisNode" select="." /> <a> <xsl:attribute name="href">/_layouts/listform.aspx?PageType=6&ListId=<xsl:value-of select="$List" />&ID=<xsl:value-of select="$thisNode/@ID" /></xsl:attribute> <xsl:attribute name="onclick"> SP.UI.ModalDialog.showModalDialog({ url: '/_layouts/listform.aspx?PageType=6&ListId=<xsl:value-of select="$List" />&ID=<xsl:value-of select="$thisNode/@ID" />' }); return false; </xsl:attribute> <xsl:value-of select="$thisNode/@Title"/> </a> </xsl:template> </xsl:stylesheet>
P.S. Этот код был проверен и работает.
Другие советы
Другой возможный вариант: если вы открываете представление в Designer и добавьте свои элементы XSL там
Кто-нибудь знает что-нибудь о различиях по производительности на трех способах в крупных списках?