SearchExpression.FormatItem
Declaration
public static string FormatItem(Search.SearchContext ctx, Search.SearchItem item, string formatString);Параметры
| Параметр | Описание |
|---|---|
| КТХ | SearchContext, который дал SearchItem. |
| пункт | SearchItem для выбора значения. |
| formatString | Строка формата, которая может содержать селекторы. |
Возвращаемое значение
строка Возвращает строку, в которой селекторы были заменены выбранными значениями из заданного SearchItem.
Описание
Возьмите строку формата и замените все селекторы в ней на выбранные значения, полученные из SearchItem.
[Description("Convert arguments to a string allowing you to format the result.")]
[SearchExpressionEvaluator(SearchExpressionType.Selector | SearchExpressionType.Text, SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
[SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
public static IEnumerable<SearchItem> FormatItems(SearchExpressionContext c)
{
var skipCount = 0;
if (SearchExpression.GetFormatString(c.args[0], out var formatStr))
skipCount++;
var items = c.args.Skip(skipCount).SelectMany(e => e.Execute(c));
var dataSet = SearchExpression.ProcessValues(items, null, item => SearchExpression.FormatItem(c.search, item, formatStr));
return dataSet;
}