2012-01-13 229 views
1

我使用的Telerik MVC網格如下所示。數據顯示在網格中,但 可過濾屬性不起作用,雖然顯示了「過濾器圖標」。我已經在layout.cshtml中註冊了腳本和CSS,但我不知道爲什麼可過濾操作不起作用有時列寬被忽略,網格呈現默認大小Telerik MVC網格過濾器不工作

@model IEnumerable<Customers> 

@(Html.Telerik() 
    .Grid(Model) 
    .Name("Customers") 
    .PrefixUrlParameters(false) 
    .Columns(columns=> 
       { 
       columns.Bound(c => c.CustomerId).Title("CustomerId").Width(50);<br/> 
       columns.Bound(c => c.CustomerStatus).Title("Customer Status").Width(70); 
       columns.Bound(c=>c.CityId).Title("CityID").Width(50); 
       } 
    .Filterable() 
    .Sortable(sort=>sort.SortMode(GridSortMode.MultipleColumn)) 
) 

layout.cshtml(註冊腳本和樣式表):

@(Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.vista.css").Combined(true).Compress(true))) 

@(Html.Telerik().ScriptRegistrar().Globalization(true).DefaultGroup(group => group.Combined(true).Compress(true))) 

回答

1

爲了指定網格的大小,你可以在一個div包裝它:

<div style="width:300px;"> 
    @(Html.Telerik()... 
</div> 

而且,請確保您在網格中啓用排序/篩選功能:

.Sortable(sorting => sorting.Enabled(true)) 
.Filterable(filtering => filtering.Enabled(true)) 

如果仍然無效,請確保由Telerik腳本管理器創建的腳本文件可以由您的Web服務器提供(查看源代碼,抓住.axd鏈接並將其粘貼到您的地址欄中)。

一兩件事:

不要忘記,列將擴大,以容納其所有 內容,以便確保您的列寬,你的父母DIV相匹配。

您還可以使用Firebug檢查頁面中的任何腳本問題。

+0

我用你說的.Filterable(filtering => filtering.Enabled(true))即使這不起作用。過濾器操作根本不起作用。自2天以來就陷入這個問題。即使在TELERIK FORUM中也沒有正確的答案。 – Brad 2012-01-13 14:32:08

+0

您是否使用Firebug檢查頁面加載時發生了什麼?如果是這樣,輸出是什麼? – Nick 2012-01-13 15:00:45

+0

我在FireFox中也得到了相同的結果。其實,你想讓我檢查與firebug.Allscripts按預期加載。 – Brad 2012-01-13 15:40:55

0

如果您使用的是數據鍵或者您已經在網格動作方法上啓用了自定義綁定,則刪除可能會解決該問題。

0

我發現了一件非常有趣的事情。我的網格上的過濾不起作用。該圖標在那裏,但它不可點擊。這一切都很奇怪。例如,在排序時,它將向查詢字符串添加一個長尾。我花了兩天的時間。直到我發現問題。我在頁面上有四個標籤,每個標籤都加載了一個部分。每個部分都包含一個網格。前三個網格(前三個標籤)工作正常。第四不是。我已經移動了第一個標籤中的最後一個部分,它工作正常,但第三個標籤中的網格不再工作。問題是隻有三個網格在一個頁面上工作。如果我在第一個選項卡上擁有所有四個網格,則只有前三個在工作,第四個不在。很奇怪。雖然沒有找到問題的根源......

-1

Telerik電網真的很糟糕。如果某個數據列是datatimeoffset,那麼過濾器將無法工作。