2010-04-19 3 views
1

У меня есть SPGridView, который отображает элементы из списка с фильтрацией.Sharepoint SPGridView Фильтрация с полями поиска

В списке есть некоторые поисковые поля. в моем SPGridview значение фильтра lookupfield появляется в следующем формате:

{id};#{Value} 

, который делает фильтр не работает, потому что он ожидает значения только без {ID}; #

есть способ для отображения значений фильтра без {id}; # part?

благодаря

ответ

2

Вот как я решил эту проблему:

<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

При генерации столбцов для SPGridView, используйте SPBoundField, не BoundField.

1

Попробуйте установить свойство FilteredDataSourcePropertyFormat в

"({1} LIKE '{0}') OR ({1} LIKE '{0};%') OR ({1} LIKE '%;#{0}') OR ({1} LIKE '%;#{0};%')" 
Смежные вопросы