1

我使用Telerik網站的這個示例演示如何向網格中添加過濾器。我下面它究竟是如何顯示其例子如下:使用Kendo UI網格控件過濾行的問題

@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>() 
    .Name("grid") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.OrderID).Filterable(ftb => ftb.Cell(cell => cell.ShowOperators(false))).Width(225); 
     columns.Bound(p => p.ShipName).Width(500).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains"))); 
     columns.Bound(p => p.Freight).Width(255).Filterable(ftb => ftb.Cell(cell => cell.Operator("gte"))); 
     columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}"); 
    }) 
    .Pageable() 
    .Sortable() 
    .Scrollable() 
    .Filterable(ftb => ftb.Mode(GridFilterMode.Row)) 
    .HtmlAttributes(new { style = "height:550px;" }) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .PageSize(20) 
     .ServerOperation(true) 
     .Read(read => read.Action("Orders_Read", "Grid")) 
    ) 
) 

然而,當我用我跑我的網站,我得到線

columns.Bound(p => p.ShipName).Width(500).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains"))); 

說,「不能轉換拉姆達錯誤表達式鍵入'bool',因爲它不是委託類型。「

我不知道我在做什麼錯誤,因爲我的代碼與演示代碼完全相同。

任何幫助表示讚賞!

+0

是ShipName是字符串嗎?嘗試刪除可過濾的shipname並運行它,看看它是否正常工作,出錯。你到底在做什麼?試圖保持只包含過濾器? –

+0

是shipName是一個字符串。我試圖添加一個過濾器到我的網格,就像他們在演示中顯示的內容一樣 http://demos.telerik.com/aspnet-mvc/grid/filter-row – wixstar

+0

然後我確信有些數據是錯誤的。請保留調試點,並檢查是否所有的數據是字符串或不是船名 –

回答

0

Wixstar

columns.Bound(p => p.ShipName).Width(500).Filterable(ftb=> ftb.Extra(false));

這會爲你工作,沒有必要使用運營商( 「...」)

這將幫助你比這個標記答案是正確的答案。