Salut tout le monde, j'utilise DevExpress pour développer mon site web et j'aurais une question.
Je voudrais ajouter un nouvel élément dans la Grid et j’utilise la fonction coté client « AddNewRow » de l’AspxGridView.
J’ai réussi à afficher le « AddNewRow » mais j’aimerais que quand l’utilisateur choisi un article dans la combobox, que les autres champs soient remplis automatiquement.
J’ai réussi à récupérer la valeur du combobox article (son ID) et j’obtiens ainsi toutes les valeurs correspondantes (grâce à une méthode coté serveur qui me renvoie les valeurs suivant cet ID, donc la description, prix…).
Jusque-là c’est Ok mais le problème est que je n’arrive pas à changer la valeur des autres champs dans l’ « AddNewRow ». Comment affecter les valeurs récupérées dans ces champs?
Voici mon code pour la colonne combobox :
Et coté serveur j'arrive bien à récupérer les bonnes valeurs mais pas réussi à affecter ces valeurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <dx:GridViewDataComboBoxColumn Name="RefArticle" FieldName="RefArticle"> <PropertiesComboBox TextField="Description" ValueField="Id" DataSourceID="ListArticlesDS"> <ClientSideEvents SelectedIndexChanged="function(s, e) { var t = s.GetValue(); //alert(t); //ClientGridArticles.PerformCallback('ComboBoxArticles' + ';' + s.GetValue()); }"></ClientSideEvents> </PropertiesComboBox> <EditFormSettings VisibleIndex="1" /> </dx:GridViewDataComboBoxColumn>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 protected void ASPxGridViewArticles_CustomCallback(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs e) { var args = e.Parameters.Split(';'); if (args[0] == "ComboBoxArticles") { int id = Convert.ToInt32(args[1]); Article article = Helper.Helper_Get_ArticleById(id); } }
Merci.
Partager