我想使用关系过滤器来过滤标签。当我传递文本字符串并且它可以搜索EntityTitle时,这可以正常工作,但是我想将entity_id传递给过滤器。
我在查询结果的细节中注意到关系过滤器有一个" CompareAttribute = EntityTitle"。有没有办法编辑它以使其成为EntityID?
感谢。
答案 0 :(得分:0)
目前,相关项目中不同属性的过滤只能在代码中完成。继承人'如何
var q = App.Query["queryname"];
q
转换为IDataTarget
并向上导航查询树,如var relFilter = q.In["Default"].Source
,然后再将其转换为右侧键入,然后更改relFilter.CompareAttribute = "Country";
......类似的东西:)
之后,您可以使用foreach(var x in AsDynamic(q["Default"])) {...}
答案 1 :(得分:0)
我尝试过此操作,因为我想要一些按地区分组的位置, 所以我做到了:
因此,基本上它应该执行相同的操作,只是会按区域查询。 这就是我想出的:
@{
var someAddresses = App.Query["FilterAddresses"]["ListContent"];
someAddresses.Filter = region.RegionName;
Data.In.Add("someAddresses", someAddresses["Default"]);
}
@foreach (var pc in AsDynamic(someAddresses.List)) {
<li>@pc.Naam</li>
}
但是它说:
CS1061:
ToSic.Eav.DataSources.IDataStream
不包含“过滤器”的定义。
那还应该是其他东西吗?