2010-04-19 6 views
1

J'ai un SPGridView qui affiche les éléments d'une liste avec filtrage.Filtrage SPGridView Sharepoint avec champs de recherche

La liste a quelques champs de recherche. dans mon SPGridview les valeurs de filtre d'un lookupfield apparaissent dans ce format:

{id};#{Value} 

ce qui rend le filtre fonctionne pas car il attend la valeur que sans {id}; #

est-il un moyen afficher les valeurs de filtre sans la partie {id}; #?

grâce

Répondre

2

Voici comment je résolu cette question:

<asp:TemplateField HeaderText="Campaign Members"> 
    <ItemTemplate> 
     <%# RemoveCharacters(Eval("CampaignMembers").ToString())%> 
    </ItemTemplate> 
</asp:TemplateField> 

// Make sure declare using System.Text.RegularExpression; protected string 
RemoveCharacters(object String) 
{ 
    string s1 = String.ToString(); 
    string newString = Regex.Replace(s1, @"#[\d-];", string.Empty); 
    newString = Regex.Replace(newString, "#", " "); 
    return newString.ToString(); 
} 
0

Lorsque vous générer des colonnes pour SPGridView, utilisez SPBoundField, pas BoundField.

1

Essayez de définir la propriété FilteredDataSourcePropertyFormat à

"({1} LIKE '{0}') OR ({1} LIKE '{0};%') OR ({1} LIKE '%;#{0}') OR ({1} LIKE '%;#{0};%')" 
Questions connexes