0
我正在使用MVC C#/ Razor,我的過濾工作完全,頁面加載時不顯示頁眉輸入。我用下面的代碼片段來設置輸入:如何讓SlickGrid標題過濾器出現在網格加載?
grid.onHeaderRowCellRendered.subscribe(function (e, args) {
$(args.node).empty();
$("<input type='text'>")
.data("columnId", args.column.id)
.val(columnFilters[args.column.id])
.appendTo(args.node);
});
然而,爲了獲得輸入出現,我需要先重新排序的列。我假設重排序列函數正在調用onHeaderRowCellRendered函數,然後創建這些輸入。我的問題是,爲什麼當網格首先加載時不會調用onHeaderRowCellRendered函數,以及如何在創建網格時讓它運行,或者,我怎樣才能讓輸入文本框出現?
更多下面的代碼:
grid = new Slick.Grid("#versionGrid", filteredData, columns, options);
$(grid.getHeaderRow()).delegate(":input", "change keyup", function (e) {
var columnId = $(this).data("columnId");
if (columnId != null) {
columnFilters[columnId] = $.trim($(this).val());
var localData = JSON.parse(JSON.stringify(slickdata));
filteredData = filterData(columnFilters, localData);
grid.setData(filteredData);
$("#versionGrid").show();
}
});
grid.autosizeColumns();
$("#versionGrid").show();
grid.onHeaderRowCellRendered.subscribe(function (e, args) {
$(args.node).empty();
$("<input type='text'>")
.data("columnId", args.column.id)
.val(columnFilters[args.column.id])
.appendTo(args.node);
});
我基於這個關閉下面的例子:https://github.com/mleibman/SlickGrid/blob/master/examples/example-header-row.html – peppajack
你不應該''(「 。#versionGrid「)示出了();'。 Slickgrid爲您處理。看看[這個小提琴](http://jsfiddle.net/origineil/KKM7p/)。確保你的選項是相同的,並且你已經包含了一個對'grid.init()'的調用。注意:'forceFitColumns'代替'grid.autosizeColumns();'的需要 – Origineil