2015-03-22 1 views
-3

Je travaille sur un projet C# de commutateur d'éclairage. J'essaye d'accomplir pour rendre un champ dans un écran invisible quand un autre champ (booléen) dans le même écran change la valeur. (sans enregistrer ou actualiser) par exemple. cachez le champ Y lorsque le champ X passe de "true" à "false".C# - Masquer le champ lors de la modification d'un autre champ

C'est ce que j'ai maintenant, mais ne fonctionne que lorsque je rafraîchis l'écran un pas immédiatement lors de la modification de la propriété de ItemX.

if (this.entity.itemX.value == true) 
     { 
      this.FindControl("itemY").IsVisible = false; 
     } 
     else 
     { 
      this.FindControl("ItemY").IsVisible = true; 
     } 

Des suggestions?

+1

Je suis sûr que vous googlé beaucoup, ont écrit peut les codes, mais toujours avoir un problème avec votre code. L'afficheriez-vous pour que nous puissions essayer de le réparer? – EZI

+0

La dernière fois que j'ai vérifié, ce site a été utilisé pour aider les gens avec des questions concernant le code qui a déjà été écrit, pas pour écrire du code pour d'autres personnes. Vous devez nous montrer ce que vous avez jusqu'ici? –

+0

Est-ce une application web? Winforms? WPF? Plus vous fournissez d'informations, plus il est probable que vous obtiendrez l'aide dont vous avez besoin. –

Répondre

0

si vous travaillez avec un projet Lightswitch HTML (C# et JavaScript), essayez quelque chose comme ça sur l'écran code créé:

var hide; 

myapp.BrowseTestScreen.booleanSwitch_postRender = function(element, contentItem) { 

contentItem.dataBind("value", function (newValue) { 
    if (contentItem.value == true) { 
     hide = true; 
     //contentItem.screen.TestTextbox= "val1"; 
     //this would change the value of the text box 

    } 
    else 
     { 
     hide = false; 
     //contentItem.screen.TestTextbox = "val2"; 
     //this would change the value of the text box 
     } 
    }); 

}; 


myapp.BrowseTestScreen.TestTextbox_postRender = function (element, contentItem) { 

contentItem.dataBind("value", function(newValue) { 
    if (hide == true) { 
     $(element).show(); 
    } 
    else { 
     $(element).hide(); 
    } 
}); 
}; 
+0

J'ai utilisé un code similaire (ajouté à ma question), mais ne fonctionne que sur un rafraîchissement et pas immédiatement lors du changement de la propriété. – user4700923

+0

ill regarder dans ce maintenant, je pense qu'il sera dans une fonction sur les commutateurs modifier le code de rendu – Crezzer7

+0

cela devrait fonctionner – Crezzer7