OVH Cloud OVH Cloud

Popup, datagrid

1 réponse
Avatar
wendy
bonjour,

Dans ma fènètre popup , j’ai un datagrid avec un TemplateColumn «
LinkButton. »
J’aimerai quant un utilisateur clique sur « linkButton », l’information
cliqué est récuperer dans un textbox de la fenetre appelante. Et le popup
s’est ferme.

Voici la javascript :

function SetChefProjet(formName, id, nomUser,idUser, postBack)
{
eval('var theform = document.' + formName + ';');
popUp.close();
theform.elements[id].value = nomUser;
theform.elements["idChefProjet"].value = idUser ;

if (postBack)
__doPostBack(id,'');
}


private void GridUtilisateur_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="Select")
{

GridUtilisateur.SelectedIndex = e.Item.ItemIndex ;
int idUtilisateur = Convert.ToInt32(GridUtilisateur.DataKey
[e.Item.ItemIndex]) ;

Utilisateur user = new Utilisateur() ;
user.GetUtilisateurByIdUtilisateur(idUtilisateur) ;


UserName.Value = user.Nomutilisateur+ ' ' +
user.Prenomutilisateur ;
UserId.Value = idUtilisateur.ToString() ;


id = Request.QueryString["id"]; //textbox dans fenetre appelent pour
afficher le nom selectionné par l'utlisateur
form = Request.QueryString["formname"];
postBack = Request.QueryString["postBack"];

((LinkButton)e.Item.FindControl("btnSelectUser")).Attributes.Add("OnClick",
"window.opener.SetChefProjet('" + form + "','" + id + "',
document.UtilisateurRecherche.UserName.value,document.UtilisateurRecherche.UserId.value," + postBack + ");");
}


Le probleme c’est que la ligne :

((LinkButton)e.Item.FindControl("btnSelectUser")).Attributes.Add("OnClick",
"window.opener.SetChefProjet('" + form + "','" + id + "',
document.UtilisateurRecherche.UserName.value,document.UtilisateurRecherche.UserId.value," + postBack + ");");
Ne peut pas être déclenché.

J’ai esseyé de mettre cette ligne dans le even grid_ItemDataBound, mais
document.UtilisateurRecherche.UserName.value, et
document.UtilisateurRecherche.UserId.value sont null, parce que aucun valeur
n’est sélectionné.

Merci d’avance

wendy

1 réponse

Avatar
Norm
J'ai de la difficulté à saisir ce qu'est supposé représenté
document.UtilisateurRecherche.UserName.value..

dans le item databound il va y avoir dans e.item.dataitem("nomdecolonne")
tout les colonnes de ton datasource. C'est la que tu dois aller saisir ton
nom et id.

Ne pas oublier de tester dans le itemdatabound If e.Item.ItemType =
ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then


"wendy" a écrit dans le message de news:

bonjour,

Dans ma fènètre popup , j'ai un datagrid avec un TemplateColumn «
LinkButton. »
J'aimerai quant un utilisateur clique sur « linkButton », l'information
cliqué est récuperer dans un textbox de la fenetre appelante. Et le popup
s'est ferme.

Voici la javascript :

function SetChefProjet(formName, id, nomUser,idUser, postBack)
{
eval('var theform = document.' + formName + ';');
popUp.close();
theform.elements[id].value = nomUser;
theform.elements["idChefProjet"].value = idUser ;

if (postBack)
__doPostBack(id,'');
}


private void GridUtilisateur_ItemCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="Select")
{

GridUtilisateur.SelectedIndex = e.Item.ItemIndex ;
int idUtilisateur =
Convert.ToInt32(GridUtilisateur.DataKey
[e.Item.ItemIndex]) ;

Utilisateur user = new Utilisateur() ;
user.GetUtilisateurByIdUtilisateur(idUtilisateur) ;


UserName.Value = user.Nomutilisateur+ ' ' +
user.Prenomutilisateur ;
UserId.Value = idUtilisateur.ToString() ;


id = Request.QueryString["id"]; //textbox dans fenetre appelent pour
afficher le nom selectionné par l'utlisateur
form = Request.QueryString["formname"];
postBack = Request.QueryString["postBack"];

((LinkButton)e.Item.FindControl("btnSelectUser")).Attributes.Add("OnClick",
"window.opener.SetChefProjet('" + form + "','" + id + "',
document.UtilisateurRecherche.UserName.value,document.UtilisateurRecherche.UserId.value,"
+ postBack + ");");
}


Le probleme c'est que la ligne :

((LinkButton)e.Item.FindControl("btnSelectUser")).Attributes.Add("OnClick",
"window.opener.SetChefProjet('" + form + "','" + id + "',
document.UtilisateurRecherche.UserName.value,document.UtilisateurRecherche.UserId.value,"
+ postBack + ");");
Ne peut pas être déclenché.

J'ai esseyé de mettre cette ligne dans le even grid_ItemDataBound, mais
document.UtilisateurRecherche.UserName.value, et
document.UtilisateurRecherche.UserId.value sont null, parce que aucun
valeur
n'est sélectionné.

Merci d'avance

wendy