2011-03-02 3 views
2

net 4 et C#.GridView prendre une ligne

J'ai un GridView, je voudrais prendre un Row en mode Edit dans mon code et trouver un contrôle.

Ici mon code, mais ne fonctionne pas, il prend seulement la première ligne pour le GridView.

Des idées?

protected void uxManageSlotsDisplayer_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 

    switch (e.Row.RowType) 
    { 
     case DataControlRowType.DataRow: 

     // Take Row in Edit Mode DOES NOT WORK PROEPRLY 
     if (e.RowState == DataControlRowState.Edit) 
     { 
      Label myTest = (Label)e.Row.FindControl("uxTest"); 
     } 
     break; 

    } 

MES EXEMPLES DE CODE: GridView row in edit mode

SOLUTIONS: Après avoir lu ceci: Gridview row editing - dynamic binding to a DropDownList

 protected void uxList_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow && 
       (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit) 
     { 
      // Here you will get the Control you need like: 
      Label dl = (Label)e.Row.FindControl("uxLblTest"); 
      dl.Text = "xxxxxxxxxxxxx"; 
     } 
    } 
+0

Que signifie "prendre une ligne" signifie? –

+0

Nous avons besoin de plus d'informations: de quelle ligne avez-vous besoin, celui qui est la ligne sélectionnée en cours, ou la ligne en cours de modification, ou plusieurs lignes en mode édition? –

+0

Salut j'ai besoin de la ligne en cours d'édition (la ligne est en mode édition), donc devrait être une ROW unique en mode édition (après que l'utilisateur clique sur modifier). des idées? – GibboK

Répondre

0

Edit: Ajouté pour vérifier DataRow

if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Edit) 

au lieu de

if (e.RowState == DataControlRowState.Edit) 
+0

merci, mais n'a pas résolu le problème ... d'autres idées? personne ne semble savoir la réponse :-( – GibboK

+0

Edited! J'ai ajouté le chèque pour RowType.J'ai un code similaire dans quelques-uns pour mes applications et ils fonctionnent –

+0

Salut, travaille maintenant, mais seulement pour la première rangée dans le GridView ... très étrange? Que pensez-vous? J'ai besoin de la même chose pour chaque ligne dans le GridView .S'il vous plaît laissez-moi maintenant beaucoup de mercis – GibboK

1

vous shoud définir EditItemIndex dans la grille avant datatabind. vous pouvez le faire en cas RowEditing, comme dans cet exemple:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowediting.aspx

Cordialement, Stefano

+0

Salut Stefano, j'essaie ta suggestion, mais je suis vraiment un débutant et je ne suis pas capable de m'en sortir. J'ai posté mon code ici: http://stackoverflow.com/questions/5170261/gridview-row-in-edit-mode pourriez-vous me montrer une implémentation? Encore merci – GibboK