2011-01-06 4 views
0

J'ai créé SPGridView dynamiquement (dans le codebehind pour sharepoint), tout fonctionne bien pagination, tri etc ... mais je veux faire un filtrage sans utiliser ObjectDataSource (je l'ai fait avec ObjectDataSource en assignant le ID de source de données objet àSPGridView filtrage sans objectdatasource

Grid.DataSourceID = objectDatasourceID; 

et œuvres filterig mais quand je modifier la ligne puis en mettant à jour ne fonctionne pas) alors j'ai enlevé ObjectDataSource et a obtenu les données de la table de DB et assing à Grid.DataSource = DataTable; et Grid.DataBind(); et il fonctionne très bien, mais quand j'écrire le code pour le filtrage comme

SPgv.AllowFiltering = true; 
    SPgv.FilterDataFields = "CODE_NAME"; 
    SPgv.FilteredDataSourcePropertyName = "FilterExpression"; 
    SPgv.FilteredDataSourcePropertyFormat = "{1} = '{0}'"; 

(SPgv est le SPGridView et CODE_NAME est le nom de la colonne)

et quand je lance ce code, le menu apparaît sur la colonne nom, et aussi trier asc et desc fonctionne mais il me donne une erreur javascript lorsque je clique sur le menu et les valeurs dans la colonne CODE_NAME n'apparaît pas, il dit chargement ... mais rien n'apparaît

Toute aide concernant le filtrage sans ObjectDataSource sera grandement apprécié, je ne veux pas de Textbox, menu déroulant pour le filtrage Je veux le même menu (qui appe ars dans le SPGridView) pour le filtrage mais sans ObjectDataSource.

Répondre

0

Le filtrage de SPGridView fonctionne mieux avec ObjectDataSource, comme vous le savez. Je suggère d'ajouter un contrôle déroulant et de passer la valeur sélectionnée à votre requête CAML pour filtrer.