Как удалить «имя столбца:» из сгруппированного столбца в сеточном элементе управления Telerik MVC (бритва) - PullRequest
1 голос
/ 08 сентября 2011

Я смотрю на использование элемента управления сеткой 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))
    )

отображает

Capture2

Но я не могу найти золотую середину, чтобы избавиться от этой второй "SheetLine", так что это только сгруппированный столбец И имеетgroupheadertemplate.

Ответы [ 3 ]

2 голосов
/ 06 июня 2012

Вы можете просто применить следующую технику:

   @(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))
    )
1 голос
/ 08 сентября 2011

Похоже на следующую проблему, о которой сообщалось на форумах поддержки Telerik здесь:

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

В настоящее время нет способа настроить это, но вы можете включить столбец накоторый вы группируете скрытым (Hidden ()).Просто убедитесь, что вы помещаете этот столбец последним в списке для поддержки IE.

Так что в основном вам нужно реализовать решение, которое помещает столбцы, по которым вы группируете последние, в список определенных столбцов для сетки, а затемВы должны скрыть их (Скрытый () ... невидимый (ложный)!).

0 голосов
/ 08 августа 2014

попробуйте это, На привязке к сетке:

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";
}
...