Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint SPGridView使用查找字段进行筛选_Sharepoint - Fatal编程技术网

Sharepoint SPGridView使用查找字段进行筛选

Sharepoint SPGridView使用查找字段进行筛选,sharepoint,Sharepoint,我有一个SPGridView,它显示带有筛选的列表中的项目 列表中有一些查找字段。 在my SPGridview中,lookupfield的筛选器值以以下格式显示: {id};#{Value} 这使得筛选器无法工作,因为它只需要不带{id}的值# 有没有一种方法可以在没有{id};#的情况下显示过滤器值部分 谢谢为SPGridView生成列时,请使用SPBoundField,而不是BoundField。尝试将FilteredataSourcePropertyFormat属性设置为 "({1}

我有一个SPGridView,它显示带有筛选的列表中的项目

列表中有一些查找字段。 在my SPGridview中,lookupfield的筛选器值以以下格式显示:

{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();
}