如何删除“列名称:”来自 Telerik MVC (razor) 网格控件中的分组列

发布于 2024-12-03 19:14:00 字数 2060 浏览 0 评论 0 原文

我正在考虑在一个项目中使用 Telerik MVC3 Razor 网格控件。

分组效果非常好,但是是否可以从分组中删除“列名称:”? 例如,

"Product Size: Large"
"Product Size: Small"
"Product Size: Medium"

更改为“

"Large"
"Small"
"Medium"

如果我将 GroupHeaderTemplate 添加到列(c=>c...)”,那么我可以让文本说出我想要的任何内容...但是随后同一列也会显示在我的网格中(之后分组列)

@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.SheetLine).Visible(false)
            .Aggregate(a => a.Count())
            .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>);
        columns.Bound(c => c.VSACode);
        columns.Bound(c => c.Bucket100)
            .Title("First");
    })
    .Groupable(groupable => groupable.Groups(group =>
                        {
                            group.Add(g => g.SheetLine);
                            group.Add(g => g.PrintLine);
                            group.Add(g => g.SelectionLine);
                        }).Visible(false))
)

显示

Capture1

@(Html.Telerik().Grid(Model)
        .Name("Grid")
        .Columns(columns =>
        {
            columns.Bound(c => c.SheetLine)
                .Aggregate(a => a.Count())
                .GroupHeaderTemplate(@<text>@item.Key</text>);
            columns.Bound(c => c.VSACode);
            columns.Bound(c => c.Bucket100)
                .Title("First");
        })
        .Groupable(groupable => groupable.Groups(group =>
                            {
                                group.Add(g => g.SheetLine);
                                group.Add(g => g.PrintLine);
                                group.Add(g => g.SelectionLine);
                            }).Visible(false))
    )

显示

但我找不到中间立场来摆脱第二个“SheetLine”,所以它只是一个分组列并且有一个组标题模板。

I am looking at using the Telerik MVC3 Razor grid control for a project.

Grouping works really well, but is it possible to remove the "column name: " from the grouping?
e.g.

"Product Size: Large"
"Product Size: Small"
"Product Size: Medium"

change to

"Large"
"Small"
"Medium"

If I add a GroupHeaderTemplate to the Column(c=>c...) then I can get the text to say whatever I want...but then the same column is also displayed later on in my grid (after the grouping columns)

@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.SheetLine).Visible(false)
            .Aggregate(a => a.Count())
            .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>);
        columns.Bound(c => c.VSACode);
        columns.Bound(c => c.Bucket100)
            .Title("First");
    })
    .Groupable(groupable => groupable.Groups(group =>
                        {
                            group.Add(g => g.SheetLine);
                            group.Add(g => g.PrintLine);
                            group.Add(g => g.SelectionLine);
                        }).Visible(false))
)

displays

Capture1

and

@(Html.Telerik().Grid(Model)
        .Name("Grid")
        .Columns(columns =>
        {
            columns.Bound(c => c.SheetLine)
                .Aggregate(a => a.Count())
                .GroupHeaderTemplate(@<text>@item.Key</text>);
            columns.Bound(c => c.VSACode);
            columns.Bound(c => c.Bucket100)
                .Title("First");
        })
        .Groupable(groupable => groupable.Groups(group =>
                            {
                                group.Add(g => g.SheetLine);
                                group.Add(g => g.PrintLine);
                                group.Add(g => g.SelectionLine);
                            }).Visible(false))
    )

displays

Capture2

But I can't find the middle ground to get rid of that second "SheetLine" so it is only a grouped column AND has a groupheadertemplate.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤城病女 2024-12-10 19:14:00

您可以简单地应用以下技术:

   @(Html.Telerik().Grid(Model)
        .Name("Grid")
        .Columns(columns =>
        {
           columns.Bound(c => c.SheetLine)
                .Aggregate(a => a.Count())
                .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>).Hidden(true);

            columns.Bound(c => c.PrintLine)           
                .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true);

            columns.Bound(c => c.SelectionLine)          
                .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true);

            columns.Bound(c => c.VSACode);
            columns.Bound(c => c.Bucket100)
                .Title("First");
        })
        .Groupable(groupable => groupable.Groups(group =>
                            {
                                group.Add(g => g.SheetLine);
                                group.Add(g => g.PrintLine);
                                group.Add(g => g.SelectionLine);
                            }).Visible(false))
    )

You can simply apply the following technique:

   @(Html.Telerik().Grid(Model)
        .Name("Grid")
        .Columns(columns =>
        {
           columns.Bound(c => c.SheetLine)
                .Aggregate(a => a.Count())
                .GroupHeaderTemplate(@<text>@item.Key (@item.Count)</text>).Hidden(true);

            columns.Bound(c => c.PrintLine)           
                .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true);

            columns.Bound(c => c.SelectionLine)          
                .GroupHeaderTemplate(@<text>@item.Key</text>).Hidden(true);

            columns.Bound(c => c.VSACode);
            columns.Bound(c => c.Bucket100)
                .Title("First");
        })
        .Groupable(groupable => groupable.Groups(group =>
                            {
                                group.Add(g => g.SheetLine);
                                group.Add(g => g.PrintLine);
                                group.Add(g => g.SelectionLine);
                            }).Visible(false))
    )
青巷忧颜 2024-12-10 19:14:00

看起来 Telerik 支持论坛上报告了以下问题:

http://www.telerik.com/community/forums/aspnet-mvc/grid/custom-label-for-group.aspx

目前还没有办法配置这个,但是您可以将分组所在的列隐藏起来(Hidden())。只需确保将该列放在列表的最后以支持 IE。

因此,基本上,您必须实现一个解决方案,将最后分组的列放置在网格的定义列列表中,然后必须隐藏它们(Hidden()...not Visible(false)!)。

Looks like the following issue which has been reported on the Telerik support forums here:

http://www.telerik.com/community/forums/aspnet-mvc/grid/custom-label-for-group.aspx

Currently there is no way to configure this, but you can make the column on which you group hidden (Hidden()). Just make sure that you place that column last in the list to support IE.

So basically you have to implement a solution that places the columns on which you group last in the list of defined columns for the grid and then you have to hide them (Hidden()...not Visible(false)!).

茶花眉 2024-12-10 19:14:00

试试这个,在网格数据绑定上:

if($('#grid tbody .k-grouping-row:contains("FieldName") td p').length != 0)
{
  $('#grid tbody .k-grouping-row:contains("FieldName") td p')[0].innerHTML = "<[a]  tabindex=\"-1\" class=\"k-icon k-i-collapse\" href=\"#\" /> Your text";
}

try this,On grid databound:

if($('#grid tbody .k-grouping-row:contains("FieldName") td p').length != 0)
{
  $('#grid tbody .k-grouping-row:contains("FieldName") td p')[0].innerHTML = "<[a]  tabindex=\"-1\" class=\"k-icon k-i-collapse\" href=\"#\" /> Your text";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文