WebGrid排序不起作用

时间:2012-09-28 08:41:53

标签: c# razor webgrid

我正在使用WebGrid显示数据库中的数据表。 此表有一个包含数量的列。 我希望有人能告诉我为什么这个网格没有排序?

@{  
    WebGrid grid = new WebGrid(
        source: Model,
        rowsPerPage: 10,
        canPage: true,
        canSort: false,
        ajaxUpdateContainerId: "grid",
        ajaxUpdateCallback: "initGrid",
        sortFieldName: "Qty_containers",
        sortDirectionFieldName: "ASC"
    );
}

    <div id="grid" class="ajax">
            @grid.GetHtml(
                tableStyle: "border", headerStyle: "red",
                columns: grid.Columns(
                grid.Column(columnName: "Haulier", 
header: ResourceContext.Get("Model.ShortTerm.Haulier")),
                grid.Column(columnName: "ETA_vessel", 
header: ResourceContext.Get("Model.ShortTerm.ETA_vessel"), format:
                    @<text>
                        @item.ETA_vessel.ToShortDateString()
                    </text>),
                grid.Column(columnName: "Container_length", header: ResourceContext.Get("Model.ShortTerm.Container_length"), format:
                    @<text>
                            @{string length = item.Container_length.ToString();
                              if(length.Equals("_blank_")){
                                length = "";
                              }
                              else if(length.Equals("_x0032_0_ft")){
                                length = "20 ft"; 
                              }
                              else{
                                length = "30 ft";
                              }
                             }
                            @length
                    </text>),
                grid.Column(columnName: "Qty_containers", header: ResourceContext.Get("Model.ShortTerm.Qty_containers"), canSort: true)
                )
            ) 
        </div>

My grid

2 个答案:

答案 0 :(得分:0)

我也遇到过“WebGrid”的问题。在您的收藏中试试这个:

objectModel.OrderByDescending(d => d.Qty_containers);

答案 1 :(得分:0)

更改此属性,它应该有效canSort: true。在您的代码中,“canSort”设置为“False”