我有一个SPGridView,可以显示带有过滤的列表中的项目。
列表中有一些查找字段。 在我的SPGridview中,lookupfield的过滤器值以这种格式显示:
{id};#{Value}
这使得过滤器不起作用,因为它只期望没有{id};#
的值有没有办法在没有{id};#part?
的情况下显示过滤器值感谢
答案 0 :(得分: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();
}
答案 1 :(得分:1)
尝试将FilteredDataSourcePropertyFormat属性设置为
"({1} LIKE '{0}') OR ({1} LIKE '{0};%') OR ({1} LIKE '%;#{0}') OR ({1} LIKE '%;#{0};%')"
答案 2 :(得分:0)
为SPGridView生成列时,请使用SPBoundField,而不是BoundField。