J'utilise une grille Kendo Ui dans MVC.NET. P>
La grille est configurée pour afficher un filtre à colonne pour chaque colonne. P>
Certaines de mes colonnes ne sont pas filtrables, cependant, donc je souhaite cacher le filtre. P>
Y a-t-il un moyen de configurer cela du côté C #? (N'utilisant pas CSS ou JS). P>
5 Réponses :
Autant que je puisse dire, vous devrez être capable de définir la propriété 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. p> Colonne.FilTerable code> 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 ) P>
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
Dans votre code, vous avez probablement quelque chose comme: 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>
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 em>. Une solution de contournement Pour ce cas, c'est: p>
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: pour les cacher ... p> $("#MyGrid").find(".k-header").find(".k-grid-filter").css("visibility","hidden");
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. P>
EG. P>
champ: "margin01", largeur: 40, Filtrable: Faux, Titre: "0 -" p>