На значение столбца ссылаются хэши, например, #STUDENT_ID#
.
Посмотрите, что написал Джеки Макилрой: « Удалить строку отчета с помощью динамического действия » ( https://jackiemcilroy.blogspot.com/2018/03/delete- row-of-report-with-dynamic-action.html ). Она описывает процесс подробно, с большим количеством скриншотов. Надеюсь, это поможет вам сделать то, что вы делаете.
На вашем месте я бы сделал одно из следующих действий:
Я не думаю, что удаляю строки из интерактивного отчета (но хорошо, это только я, и мои идеи обычно не слишком умны). [1111 ]
Ваш запрос возвращает все идентификаторы виджета вместо всех виджетов. Если Вы просто хотите виджеты, просто используйте:
var q = source.SelectMany(foo => foo.Bar)
.SelectMany(bar => bar.Widget)
.ToList();
Если это все еще дает "неправильный результат", объясните, каким образом это - неправильный результат. Пример кода был бы очень полезен :)
Править: Хорошо, если Вы хотите идентификаторы виджета, Ваш исходный код должен быть прекрасным:
var q = source.SelectMany(foo => foo.Bar)
.SelectMany(bar => bar.Widget)
.Select(widget => widget.WidgetId)
.ToList();
Это могло также быть записано как
var q = (from foo in source
from bar in foo.Bar
from widget in bar.Widget
select widgetId).ToList();
если Вам нравится формат выражения запроса.
Это действительно должно работать - если это не работает, который предполагает, что существует что-то не так с Вашими данными.
Мы должны были проверить, прежде чем - будет это просто LINQ к Объектам, или более необычный поставщик (например, LINQ к SQL)?
var q = (
from f in foo
from b in f.Bars
from w in b.Widgets
select w.WidgetId
).ToList();
Также обратите внимание, что, если Вы хотите уникальный список, можно сделать.Distinct ().ToList () вместо этого.