2013-09-21 14 views

risposta

4

Questa domanda è già stata risolta in senso forum di Kendo: Kendo forum - Use dropdownlist in grid column filter

E 'buona per cercare c'è sempre prima di altrove. Fondamentalmente si ottiene il filtro dell'intestazione e si nasconde il menu a discesa. Mi sono preso la libertà di modificare il violino nel forum perché il selettore jquery dell'intestazione di ricerca era un po '"cucoo". Ed è possibile utilizzare il normale config kendo invece di creare manualmente la combo

filterable: { 
    ui: function(){ ... } 
} 

La cosa principale è quello di nascondere e modificare l'aiuto.

// Find the Role filter menu. 
var filterMenu = _grid.thead.find("th[data-field='roleTitle']").data("kendoFilterMenu"); 

filterMenu.form.find("div.k-filter-help-text").text("Select an item from the list:"); 
filterMenu.form.find("span.k-dropdown:first").css("display", "none"); 

trovare qui: evento JSFiddle - Dropdown filter in kendo grid

+0

Ciao @regisbsb. Ho provato ad usare la tua soluzione, ma prendo "Impossibile trovare la proprietà 'trovare' dell'eccezione di riferimento non definito o nullo". Potete per favore aiutarmi a risolvere questa eccezione? – MustafaP

+0

Puoi elaborare? Hai visto il violino? Per me funziona. – regisbsb

+0

L'ho risolto. Ho dimenticato ma penso che fosse per gli eventi. FilterMenu non completamente caricato all'inizio. Ecco perché la proprietà "trova" non è definita. Grazie per la risposta @regisbsb – MustafaP

0

metti in griglia

.Events(e => e.FilterMenuInit("FilterMenuFunc")) 

quindi una funzione di script java

function FilterMenuFunc(e) { 
     var grid = $("#GridName").data("kendoGrid"); 
     var filterMenu = $(grid.thead.find("th:not(.k-hierarchy-cell,.k-group-cell)")[5]).data("kendoFilterMenu");//5 is index of column 
     try { 
      filterMenu.form.find("div.k-filter-help-text").text("Please Select A Value From List."); 
      filterMenu.form.find("span.k-dropdown:first").css("display", "none"); 
     } catch (e) {} 

    } 
1

ho fatto la mia dichiarando una funzione da chiamare quando costruzione dell'interfaccia utente. Dovrebbe essere molto più facile che cercare le classi.

{ 
    field: "Status", 
    title: "Status", 
    filterable: { 
     extra: false, 
     ui: statusFilter 
    } 
} 


function statusFilter(element) { 

    // finds the closest form so we can start manipulating things. 
    var form = element.closest("form"); 

    // changes the help text. (you might want to localise this) 
    form.find(".k-filter-help-text:first").text("Select an item from the list:"); 

    // removes the dropdown list containing the operators (contains etc) 
    form.find("select").remove(); 

    // Adds a new dropdownlist with all the options you want to select from 
    element.kendoDropDownList({ ...... }); 

} 
Problemi correlati