0

我正在开发一个类似于 CRM 2011 上的查找视图的 Windows 表单。为此,我执行以下操作 1)在 datagirdview 中显示相关记录(机会实体) 2)还有一个绑定到视图的下拉列表(View.Name ) 以允许用户选择我打算更改我的数据网格视图上的过滤器的视图。

我坚持以下。我能够使用以下代码检索“Opportunity”实体的视图

ConditionExpression condition1 = new ConditionExpression()
                    {
                        AttributeName = "querytype",
                        Operator = ConditionOperator.Equal,
                        Values = { 0 }
                    };
                    ConditionExpression condition2 = new ConditionExpression()
                    {
                        AttributeName = "returnedtypecode",
                        Operator = ConditionOperator.Equal,
                        Values = { Opportunity.EntityTypeCode }
                    };
                    FilterExpression filter = new FilterExpression();
                    filter.Conditions.Add(condition1);
                    filter.Conditions.Add(condition2);

                    QueryExpression queryToRetrieveViews = new QueryExpression
                    {
                        ColumnSet = new ColumnSet("savedqueryid", "name", "querytype", "isdefault", "returnedtypecode", "isquickfindquery"),
                        EntityName = SavedQuery.EntityLogicalName,
                        Criteria = filter
                    };
                    RetrieveMultipleRequest retrieveSavedViewsRequest = new RetrieveMultipleRequest { Query = queryToRetrieveViews };

                    RetrieveMultipleResponse retrieveSavedViewsResponse = (RetrieveMultipleResponse)crm.Execute(retrieveSavedViewsRequest);

                    DataCollection<Entity> savedViews = retrieveSavedViewsResponse.EntityCollection.Entities;

                    foreach (Entity ent in savedViews){...}

我快速浏览了一下,但找不到具有 CRM 中存在的过滤条件的属性。我的意思是我打算看的是这样的事情,例如过滤器将是“statecode = 0”的开放机会。是否可以获取相关的过滤器?- 抱歉,关联过滤器是指视图的过滤器

4

1 回答 1

1

您可以按您想要的任何属性进行过滤,所以我不确定您所说的相关过滤器是什么意思。如果您指的是实际视图的过滤器,您将找不到它。视图存储在 XML 中,因此您必须检索已保存视图的 FetchXML 并解析 XML 以查看它的过滤器。

于 2013-10-16T14:56:57.927 回答