2011-12-02 3 views
0

j'ai le code suivant, je suis en train de permettre aux utilisateurs de choisir plusieurs éléments à synchroniser:Sync Framework: Filtrage plusieurs lignes

serverTemplate.Tables["dbo.order_details"].AddFilterColumn("order_id"); 

serverTemplate.Tables["dbo.order_details"].FilterClause = 
String.Format("[side].[order_id] IN ({0})", "@order_ids"); 

var param2 = new SqlParameter("@order_ids", SqlDbType.Structured); 

serverTemplate.Tables["dbo.order_details"].FilterParameters.Add(param2); 

serverTemplate.Apply(); 

je besoin d'un moyen de filtrer sur plusieurs « order_ids ». Les exemples que je vois pour le filtrage Sync Framework ne filtrent que sur un ID. Je pensais que je pouvais utiliser SqlDbType.Structured type de données pour montrer que « order_ids sera une liste Cependant, je reçois l'erreur suivante sur:. serverTemplate.Apply();

System.Data.SqlClient.SqlException was unhandled 
    Message=Column, parameter, or variable #5: Cannot find data type READONLY. 
Parameter or variable '@order_ids' has an invalid data type. 

Répondre

0

solutions possibles pour ce problème:

  • Vous pouvez formuler ceci comme une sous-sélection sur une table que vous utilisez pour stocker les ID un par ligne.
+0

order_ids est une liste BladeHal

+0

@BladeHal qui a gagné » travail - suivre les liens dans ma réponse ... vous avez besoin de faire un' 'DataTable' de cette liste ' ... – Yahia