コード例 #1
0
ファイル: TableTests.cs プロジェクト: w3cui/ant-design-blazor
        private IRenderedComponent <Table <Person> > CreatePersonsTable(
            IReadOnlyList <Person> persons,
            Action <ComponentParameterBuilder <Table <Person> > > callback = null,
            bool enableSelection = false)
        {
            return(Context.RenderComponent <Table <Person> >(x =>
            {
                x
                .Add(b => b.DataSource, persons)
                .Add(b => b.ChildContent, p =>
                {
                    var selection = new ComponentParameterBuilder <Selection>()
                                    .Add(q => q.Key, p.Id.ToString())
                                    .Build()
                                    .ToComponentRenderFragment <Selection>();

                    var nameCol = new ComponentParameterBuilder <Column <string> >()
                                  .Add(q => q.Field, p.Name)
                                  .Build()
                                  .ToComponentRenderFragment <Column <string> >();

                    var surnameCol = new ComponentParameterBuilder <Column <string> >()
                                     .Add(q => q.Field, p.Surname)
                                     .Build()
                                     .ToComponentRenderFragment <Column <string> >();

                    return builder =>
                    {
                        if (enableSelection)
                        {
                            selection(builder);
                        }
                        nameCol(builder);
                        surnameCol(builder);
                    };
                }
                     );

                callback?.Invoke(x);
            }
                                                             ));
        }