2010-06-28 6 views
0

Je veux accéder aux contrôles et mettre à jour la base de données avec leur valeur. Avis en utilisant le code suivant:Comment faire pour rechercher FindControl() dans un GridView en mode édition?

void grdList_UpdateCommand(object source, GridCommandEventArgs e) 
{ 
     string str = ((RadTextBox)e.Item.FindControl("txtLookupItemValue")).Text; 
} 

J'ai accès à contrôler txtLookupItemValue, mais il contient le contenu avant-édition, pas de valeur réelle que l'utilisateur est entré.

Répondre

1

avez-vous essayé de placer la chaîne lors de l'événement d'édition:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
{ 

    string str = ((RadTextBox)e.Item.FindControl("txtLookupItemValue")).Text; 

} 

mettre à jour votre base de données et ensuite rebind GridView pour afficher la ligne mise à jour.

+0

J'ai testé la valeur de 'str1' en mode débogage. Il contient juste before-edit-value. –

0

Je pense que vous pouvez obtenir la valeur lorsque la grille est mise à jour. Par exemple:

protected void GridUpdating(object sender, GridViewUpdateEventArgs e) 
{ 
string str = (RadTextBox)this.yourGridviewName.Rows[e.RowIndex].FindControl("txtLookupItemValue").Text; 
} 

Ensuite, ajoutez ceci au gridview sur le ASPX:

OnRowUpdating="GridUpdating" 
+0

J'utilise RadGrid de Telerik. Il n'a aucun événement nommé Updating. –