1 pièce(s) jointe(s)
Comment remplir les champs suivant une combobox dans une GridView?
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:
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:
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);
}
} |
Pièce jointe 161924
Merci.