И здесь я столкнулся с одной досадной проблемой. Я хочу добавить еще один столбец, который будет использоваться для отображения флажков в заголовке и теле. Я хочу, чтобы этот столбец отображался, предоставляя только параметр типа, например:
Код: Выделить всё
// my custom column
c.Id)" Format="C" />
@context.Price
Код: Выделить всё
public class CheckboxColumn : ColumnBase
{
// abstract method implementation
}
Примечания:
- Я пытался отладить и изучить, что там происходит. При первом рендеринге сетки я вижу, что все 4 столбца были собраны этим вызовом Grid.AddColumn(this) в ColumnBase.razor. Но затем, из-за вызова обратного вызова, сетка повторно визуализируется, очищает коллекцию столбцов и снова отображает @ChildContent, что означает, что Grid.AddColumn(this) вызывается снова. Но на этот раз первым this является второй столбец.
Надеюсь, вы поняли логику.
- Поскольку CheckboxColumn является производным от ColumnBase, мы можем использовать, например, HeaderTemplate, который является RenderFragment. Если мы предоставим что-то в HeaderTemplate для CheckboxColumn — все будет отображаться нормально. Но я не хочу предоставлять там какие-либо RenderFragment.
Если для CheckboxColumn указан параметр Align — все в порядке! Но для меня это все равно не отвечает на вопрос...
UPD-2 Если я не ошибаюсь, это утверждение(
Код: Выделить всё
All of the parameters are from a set of known types† or any primitive type that hasn't changed since the previous set of parameters were set.