2011-06-09 70 views
0

我有一个SharePoint 2007 BDC实例设置,其中包含一个简单的筛选器,但我只是在定义中稍微短一些,以便为我提供所需的操作员选项过滤业务数据列表Web部件的选项。BDC筛选操作员选项-SharePoint 2007

使用Web服务我得到了,我的“搜索” Web方法实现了一个查询,看起来像等价的:

 SELECT * FROM Customers where City LIKE '%' + @MyParameter '%' 

与此查询,如果我创造我FilterDescriptor与任一所示:

 <FilterDescriptor Type="Comparison" Name=Parameter /> 
    <FilterDescriptor Type="Wildcard" Name=Parameter /> 

第一个让我有“等于”操作选项,第二个给了我四个选项:“包含”,“打头”,“结尾为”,和“等于”。这两个都不正确,因为两者都误导用户,因为查询总是使用“包含”逻辑执行。我不想给他们超出“包含”的选项。有没有办法做到这一点?

非常感谢, 格雷格

回答

0

它可能总是执行包含逻辑,因为这样你写你的SQL查询。您的查询更改为这个

SELECT * FROM Customers where City LIKE @MyParameter 

和SharePoint将取代适当的通配符你这取决于选项包含了,开头为,结尾为,等于用户选择。

我不知道怎么样,或者如果可能的话,除去开头为,结尾为,等于从Web部件选项

+0

不幸的是,BDC是指向一组Web服务,而不是SQL查询在应用程序定义文件中。正如我在原文中提到的那样,Web服务确实以这种方式实现了查询(使用“包含”)逻辑。通过一些日志记录,我可以告诉所有传递给Web服务的SharePoint都是字符串,没有关于开始,结束等等,所以改变Web服务并不是真正的选择,据我所知。 – 2011-06-10 17:01:21

+0

对不起,我错过了关于Web服务的一点。刚刚看到一个SQL查询并正在考虑数据库。 – MLF 2011-06-10 17:45:26