使用查询表达式(C#)检索CRM 2011中的视图中的筛选条件

时间:2013-10-16 00:08:01

标签: c# dynamics-crm-2011 dynamics-crm-online

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

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

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”。 是否可以获取相关的过滤器? - 相关过滤器的接受我指的是视图的过滤器

1 个答案:

答案 0 :(得分:1)

您可以根据自己喜欢的属性进行过滤,因此我不确定相关过滤器的含义。如果您的意思是实际视图的过滤器,您将无法找到它。视图存储在XML中,因此您必须为保存的视图检索FetchXML并解析XML以查看它的过滤器。