none
Que controle exactement e.Row.RowState = DataControlRowState.Normal? RRS feed

  • Question

  • Bonjour

    j'utilise ce code dans un gridview pour raccourcir un champ dans toutes les lignes du gridview, mais pas en mode edit puisque le label n'est pas visible en mode edit. Ca marche bien.

    Ma question est: que contrôle la ligne If (e.Row.RowState = DataControlRowState.Normal ...)  exactement? Je croyais d'abord que ça contrôlait si la ligne du gridview était 'normal' (1é, 3éme ..) ou 'alternate (2è, 4è ..). Donc je m'attendais à avoir une erreur en mode edit à cause du fait que le label n'est pas visible en mode edit. Pourtant, pas d'erreur quand je clique sur le bouton edit. Comment se fait-il qu'il ne s'exécute pas en mode edit?

    Merci.

    <asp:TemplateField HeaderText="object 1" SortExpression="mat" ItemStyle-HorizontalAlign="Center" >
    <EditItemTemplate>
    <asp:textbox ID="mat" runat="server" Width="80px" Text='<%# Bind("mat") %>' ></asp:textbox>
    </EditItemTemplate>
    <ItemTemplate>
    <asp:Label ID="matl" runat="server" Text='<%# Bind("mat") %>'></asp:Label>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    </asp:TemplateField>


    code-behind:

      Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

    If (e.Row.RowState = DataControlRowState.Normal) Or (e.Row.RowState = DataControlRowState.Alternate) Then

     Dim nom As Label = CType(e.Row.Cells(4).Controls(1), Label)

    end if


    vendredi 20 novembre 2020 22:46

Réponses

  • Bonjour,

    La ligne If (e.Row.RowState = DataControlRowState.Normal) Or (e.Row.RowState = DataControlRowState.Alternate)
    vérifie si l'état actuel de la ligne dans GridView est dans un mode Normal ou Alternate.
    En mode Edit, la condition n'est pas rencontrée et le code qui suit ne s'exécute pas.

    Pour plus d'informations sur ces états, consultez la documentation suivante:
    GridViewRow.RowState Propriété
    DataControlRowState Énumération

    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    lundi 23 novembre 2020 09:13
    Modérateur

Toutes les réponses