2008-11-04 10 views
3

J'ai une page Web avec une liste dynamique. Je veux que les en-têtes soient configurables. Pour commencer avec les en-têtes sont nommés comme column1, column2, ... columnnN. En cliquant sur l'un de ces en-têtes, j'ouvre une fenêtre modale DHTML dans laquelle je sélectionne le nom d'en-tête d'une liste prédéfinie afin que je puisse attribuer ce nom d'en-tête à la colonne sélectionnée. Je renvoie donc un identifiant unique de ma fenêtre modale à mon formulaire parent. Maintenant, je veux changer l'en-tête à l'en-tête sélectionné.Page Web avec un en-tête dynamique

Mon XML:

<ROOT> 
    <Header><Item>Column 1</Item></Header> 
    <Header><Item>Column 2</Item></Header> 

    <ROW> 
     <COlUMN>Zamora</COlUMN> 
     <COlUMN> Ruby E.</COlUMN> 
    </ROW> 
    <ROW> 
     <COlUMN>Hatfield</COlUMN> 
     <COlUMN> Hanae B.</COlUMN> 
    </ROW> 
</ROOT> 

Voici comment je générer le fichier XML dans le code-behind:

oXMLString.Append(Chr(13) & "<Header>") 
oXMLString.Append(Chr(13) & "<Item>Column " & j + 1 & "</Item>") 
oXMLString.Append(Chr(13) & "</Header>") 

Voici mon xslt pour l'en-tête:

<tr class="thead"> 
    <xsl:for-each select="Header/Item">   
     <td class="rowHead" style="vertical-align:bottom;"> 
      <a href="#"> 
       <xsl:attribute name="id"> 
        <xsl:value-of select="@id"/> 
       </xsl:attribute> 
       <xsl:attribute name="onclick"> 
        <xsl:text>showPopWin('UploadFile_Step4_Modal.aspx',500,500,returnFieldID);</xsl:text> 
       </xsl:attribute> 
       <xsl:value-of select="." /> 
      </a> 
     </td> 
    </xsl:for-each> 
</tr> 

Lorsque la liste est générée, les en-têtes de colonne sont column1 et column2 où n = 2

Dans le xslt l'événement onclick ouvrir une fenêtre modale qui retourne une fieldID pour l'en-tête de colonne.

Supposons maintenant que je clique sur column1 et la retourne fenêtre modale fieldid="1" qui est prédéfini dans la base de données, comment puis-je changer l'en-tête de la colonne de column1-Firstname (Fieldid=1 est Firstname)

+0

s'il vous plaît modifier votre question s.t. le balisage est affiché correctement – Manu

+0

Vous devez joindre votre XML et XSLT pour que les apostrophes inverses qu'ils soient visibles ici. Jusqu'à ce que vous le fassiez, personne ne peut répondre à cette question. –

+0

Ce fut ma première post..hence je ne savais pas. Merci de clarifier. – Mithil

Répondre

0

Vous n'avez pas besoin xslt pour résoudre votre problème. Tout ce dont vous avez besoin est du JavaScript. Voici un exemple de code dans jQuery:

$('td.rowHead a').click(function(){ 
    var fieldId, fieldName; 
    fieldId = // get field id from the popup 
    fieldName = // get field name (e.g. via AJAX) 
    this.innerHTML = fieldName; 
}); 
Questions connexes