2013-09-21 6 views

答えて

4

この質問はすでに剣道のフォーラムで回答されています Kendo forum - Use dropdownlist in grid column filter

それは他の場所の前に常にそこに検索するように良いことです。 基本的に、ヘッダフィルタを取得してドロップダウンを非表示にします。 findヘッダーのjqueryセレクターが少し "cucoo"だったので、私はフォーラムでのフィドルを修正する自由を取った。そして、手動でコンボを作成する代わりに通常の剣道の設定を使うことができます

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

主なものは、ヘルプを非表示にして変更することです。

// 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"); 

ここでそれを探す: JSFiddle - Dropdown filter in kendo grid

+0

こんにちは@regisbsb。私はあなたのソリューションを使用しようとしましたが、私は "未定義またはヌル参照"の例外を見つけることができませんでした。あなたはこの例外を修正することについて私を助けてくれますか? – MustafaP

+0

あなたは精緻化できますか?あなたはフィドルを見たことがありますか?わたしにはできる。 – regisbsb

+0

私はそれを修正しました。私は忘れるが、私はそれが出来事に関するものだと思う。 FilterMenuは最初に完全に読み込まれません。そのため、プロパティ 'find'は定義されていません。返信ありがとう@regisbsb – MustafaP

0

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

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

を、イベントを追加し、私はときに呼び出す関数を宣言することで鉱山をしましたUIを構築する。クラスのために狩りをするよりはるかに簡単なはずです。

{ 
    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({ ...... }); 

} 
関連する問題