Sharepoint SPGridView使用查找字段进行筛选
我有一个SPGridView,它显示带有筛选的列表中的项目 列表中有一些查找字段。 在my SPGridview中,lookupfield的筛选器值以以下格式显示:Sharepoint SPGridView使用查找字段进行筛选,sharepoint,Sharepoint,我有一个SPGridView,它显示带有筛选的列表中的项目 列表中有一些查找字段。 在my SPGridview中,lookupfield的筛选器值以以下格式显示: {id};#{Value} 这使得筛选器无法工作,因为它只需要不带{id}的值# 有没有一种方法可以在没有{id};#的情况下显示过滤器值部分 谢谢为SPGridView生成列时,请使用SPBoundField,而不是BoundField。尝试将FilteredataSourcePropertyFormat属性设置为 "({1}
{id};#{Value}
这使得筛选器无法工作,因为它只需要不带{id}的值#
有没有一种方法可以在没有{id};#的情况下显示过滤器值部分
谢谢为SPGridView生成列时,请使用SPBoundField,而不是BoundField。尝试将FilteredataSourcePropertyFormat属性设置为
"({1} LIKE '{0}') OR ({1} LIKE '{0};%') OR ({1} LIKE '%;#{0}') OR ({1} LIKE '%;#{0};%')"
以下是我如何解决这个问题的:
<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();
}
//确保使用System.Text.RegularExpression声明;受保护字符串
RemoveCharacters(对象字符串)
{
字符串s1=string.ToString();
string newString=Regex.Replace(s1,@“#[\d-];”,string.Empty);
newString=Regex.Replace(newString,#,“”);
返回newString.ToString();
}