传递动态数据类型以生成Telerik blazor网格(.Net Core)

我正在尝试在TelerikGrid server-side项目中生成动态Blazor。 我要实现的是创建一个SplitView,在左侧具有Telerik网格,在右侧具有DetailsView(onSelect)。 (我已经在Telerik.MVC上实现了相同的想法)

据我了解,TelerikGrid需要一个具体的类型模型来生成Grid。 所以我的问题是,是否有任何方法或技巧可以在Telerik.Blazor.Grid上实现相同的想法

这是模型:

public class SplitView<IData> 
    {
        public IEnumerable<IData> Data { get; set; }
        public int Height { get; set; }
        public int PageSize { get; set; }
        public int RowHeight { get; set; }
        public bool Sortable { get; set; } = false;
        public GridScrollMode GridScrollMode { get; set; }
        public GridFilterMode GridFilterMode { get; set; }
        public GridSelectionmode GridSelectionmode { get; set; }
        public List<SplitViewLeftListItem> GridColumns { get; set; }
        public List<string> Classes { get; set; } = new List<string>();
    }

    public class SplitViewLeftListItem
    {
        public string Title { get; set; }
        public int Width { get; set; }
        public string Field { get; set; }
        public bool Groupable { get; set; } = false;
    }

    public class SplitViewRight
    {
        public string Header { get; set; }

        public string Content { get; set; }
    }

网格页面是这样的:

@if (GridDataset != null)
            {
                <div class="left-content">
                    <TelerikGrid Data="@GridDataset.Data" ScrollMode="@GridScrollMode.Virtual"
                                 Height="@(GridDataset.Height == 0 ? "" : $"{GridDataset.Height}px")" RowHeight="40" PageSize="50" Selectionmode="@GridSelectionmode.Single"
                                 Sortable="true" FilterMode="@GridFilterMode.FilterMenu"
                                 SelectedItemsChanged="@((IEnumerable<UserData> objectList) => OnSelect(objectList))">
                        <GridColumns>
                            @foreach (var item in GridDataset.GridColumns)
                            {
                                <GridColumn Title="@item.Title" Field="@item.Field" Width="@(item.Width == 0 ? "" : $"{item.Width}")" Groupable="@item.Groupable" />
                            }
                        </GridColumns>
                    </TelerikGrid>
                </div>
            }
            else
            {
                <p>Loading...</p>
            }

@code块中,我必须将具体模型传递给SplitView<a concrete model> 像这样的东西:

@code{
    private SplitView<UserData> GridDataset { get; set; }
}

因此,有什么方法可以将动态类型传递给Telerik.Grid,以便我可以使用IData接口来解决此问题。

在此先感谢您的帮助,建议,链接,有用的问题等等:)

jinwenyu2002 回答:传递动态数据类型以生成Telerik blazor网格(.Net Core)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136553.html

大家都在问