2012-05-03 3 views
0

Ive a 2 RadGridViews - Telerik. J'utilise sqlDataSource pour chacun d'entre eux. J'ai d'abord eu des clients et dans la seconde j'ai reçu des commandes.Modifier la requête de sélection dans SqlDataSource du code derrière

La première grille est multisélect. Je peux sélectionner plus d'une rangée. La fonctionnalité clé que je voudrais avoir est que chaque fois que l'utilisateur change de sélection si la première grille puis dans la seconde devrait être toutes les commandes où iserId est dans les identifiants d'utilisateur sélectionnés de la première.

Il y a un événement:

protected void GvUsers_OnSelectedIndexChanged(object sender, EventArgs e) 

à cet événement, je souhaite modifier la commande de sélection sur mes commandes dataSource et l'exécuter.

Comment puis-je faire cela?

dsOrders.SelectCommand = 
     select ... 

    GvOrders.DataSource = dsOrders.Select(DataSourceSelectArguments.Empty); 

    GvUserOrders.DataBind(); 
    GvUserOrders.Rebind(); 

ce travail ne marche pas, en utilisant profileur Je ne vois même la requête faite à la base de données

Merci pour toute aide

Répondre

1

Que voulez-vous dire comment puis-je faire cela? Comment l'as-tu fait au départ? Sur l'événement sélectionné d'index modifié, créez un objet de commande sql, avec un nouveau select, exécutez la requête, affectez-le à un dataset/datatable/reader. Ensuite, affectez cet objet aux datasource et databind() de la grille.

Le point est que vous avez initialement chargé la vue de la grille. Pour modifier à nouveau le contenu de la grille, suivez la même procédure, attribuez simplement un nouvel objet sqlcommand (pointant vers une instruction SQL Select différente) à la source de données gridview.

+0

veuillez regarder ma question modifier – gruber

Questions connexes