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 :

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>
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
        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);
            }
        }
Nom : image005.png
Affichages : 628
Taille : 13,4 Ko

Merci.