Comment personnaliser XLSTViewWebPart dans SharePoint Designer 2010?
-
09-12-2019 - |
Question
J'ai essayé de modifier xlsvieviewebPart pour l'édition de personnalisation. Mais ne recevez pas d'indices pour mon scénario.
Je veux modifier le lien de titre en mode édition au lieu du mode d'affichage dans les pages WebPart.
Lors du lien sur le lien du titre, son rendu en mode d'affichage
comme ceci:
donc je veux ouvrir directement en mode édition. Tout le monde me guide PLZ?
La solution
Il y a plusieurs façons d'y parvenir.
Je pense que la manière la plus préférable est de créer un champ calculé.
1. Champ calculé
Le point est, il existe en fait 5 champs "titre" dans n'importe quelle liste SharePoint:
Première stocke les données, les 4 autres sont
Vous pouvez utiliser une approche similaire et ajouter votre propre champ calculé dans la liste, puis l'ajouter à la vue Liste.
Pour ajouter un champ calculé, vous pouvez utiliser Addfieldasxml méthode.
Exemple d'utilisation addfieldasxml pour calculé Création de champ:
- http://aroundsharepore.blogspot.com /2009/02/dynamiquement-Creat-Spview-with-Checkbox.html
P.s. La meilleure façon de résoudre le formulaire d'édition consiste à utiliser LISTORFORD.ASPX Page, comme suit:
/_layouts/listform.aspx?PageType=6&ListId={PUT-LIST-GUID-HERE}&ID=5
(valeur de pageType va de énumération de pageType )
2. Transformation XSL
Une autre option consiste à utiliser des fonctionnalités XSLT du xsltlistviewwebPart . Dans ce cas, vous devez écrire votre fichier XSL et la joindre à la vue Liste, par exemple en remplissant SPVIEW.XSLLINK Propriété.
Exemple:
<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. Ce code a été testé et fonctionne.
Autres conseils
Une autre option possible est si vous ouvrez la vue dans designer et ajoutez vos éléments XSL là
Est-ce que quelqu'un sait quelque chose sur les différences de performance sur les trois manières sur une grande liste?