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.

Cet affichage de l'affichage de la page WebPart

Lors du lien sur le lien du titre, son rendu en mode d'affichage

comme ceci:

Entrez la description de l'image ici

donc je veux ouvrir directement en mode édition. Tout le monde me guide PLZ?

Était-ce utile?

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:

Entrez la description de l'image ici

Première stocke les données, les 4 autres sont calculés et générent simplement du code HTML, en utilisant des données de la première colonne.

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() &gt;= $FirstRow and position() &lt;= $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&amp;ListId=<xsl:value-of select="$List" />&amp;ID=<xsl:value-of select="$thisNode/@ID" /></xsl:attribute>
              <xsl:attribute name="onclick">
                  SP.UI.ModalDialog.showModalDialog({
                    url: '/_layouts/listform.aspx?PageType=6&amp;ListId=<xsl:value-of select="$List" />&amp;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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top