8
votes

Kendoui Grid en MVC: Y a-t-il un moyen de masquer des filtres sur certaines colonnes?

J'utilise une grille Kendo Ui dans MVC.NET.

La grille est configurée pour afficher un filtre à colonne pour chaque colonne.

Certaines de mes colonnes ne sont pas filtrables, cependant, donc je souhaite cacher le filtre.

Y a-t-il un moyen de configurer cela du côté C #? (N'utilisant pas CSS ou JS).


0 commentaires

5 Réponses :


1
votes

Autant que je puisse dire, vous devrez être capable de définir la propriété Colonne.FilTerable de la propriété de configuration sur 'False' pour ces colonnes que vous ne voulez pas filtrer, car il est par défaut. "vrai" (voir docs: colonnes.Filterable )

Si vous pouvez le faire à partir du côté C # dépendra de la manière dont la grille de Kendo est initialisée dans votre code.


2 commentaires

Je pense que ces colonnes.Filterable s'applique à toutes les colonnes. Il n'y a pas de moyen de définir les colonnes individuelles que je peux trouver.


Pour spécifier par colonne, vous devez fournir une entrée dans le tableau "Colonnes" avec l'attribut filtrable défini sur False. Encore une fois, cela peut ne pas être possible en fonction de la manière dont votre code est configuré pour créer la grille



16
votes

Dans votre code, vous avez probablement quelque chose comme: xxx pré>

si vous voulez producteur code> Colonne non filtrable, vous devez dire: P>

<asp:Content ContentPlaceHolderID="MainContent" runat="server">
<%: Html.Kendo().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.ProductID).Groupable(false).Filterable(false);
        columns.Bound(p => p.ProductName);
        columns.Bound(p => p.UnitPrice);
        columns.Bound(p => p.UnitsInStock);
    })
    .Groupable()
    .Pageable()
    .Sortable()
    .Scrollable()
    .Filterable()
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("Products_Read", "Grid"))
    )
%>
</asp:Content>


0 commentaires

0
votes

Je ne l'ai pas mentionné dans la question, mais j'utilisais la fonctionnalité autogénère () de la grille, alors il n'y a donc pas d'accès facile au paramètre filtrable .

Une solution de contournement Pour ce cas, c'est: xxx


0 commentaires

3
votes

Si vous ne configez pas les colonnes, vous pouvez masquer les boutons de filtrage après l'initialisation de la grille, par exemple dans l'événement Databound. Voici une façon, cachez le bouton Filtre sur un champ spécifique: xxx pré>

pour les cacher ... p>

$("#MyGrid").find(".k-header").find(".k-grid-filter").css("visibility","hidden");


0 commentaires

0
votes

Pour le côté client (jQuery) Kendo Grid, vous pouvez mettre Formerable: FALSE, pour la colonne individuelle après avoir mis Filtrable: True, pour toute la grille.

EG.

champ: "margin01", largeur: 40, Filtrable: Faux, Titre: "0 -"


0 commentaires