2

我正在使用 webgrid 来显示一些动态数据。我最近重构了我的代码,以摆脱包含要在视图中显示的各种不同类型数据的层次模型,以使用 ViewBag。

以前网格可以很好地对列进行排序,只需单击标题,但是由于我更改为 ViewBag,我的表没有排序。我的新代码如下:

@if (ViewBag.data != null)
{
var grid = new WebGrid(
    source: ViewBag.data,
    defaultSort: "StudyName",
    rowsPerPage: 10,
    canSort: true,
    canPage: true,
    ajaxUpdateContainerId: "tableDiv"
    ); 

@grid.GetHtml(
tableStyle: "resultTable",
columns: grid.Columns(
    ViewBag.columns)
)
}

有人有什么想法吗?

谢谢。

4

1 回答 1

2

确保您已将属性CanSort设置为:trueViewBag.columns

ViewBag.columns = new[] 
{
    new WebGridColumn
    {
        ColumnName = "Id"
    },
    new WebGridColumn
    {
        CanSort = true,
        ColumnName = "StudyName"                
    },
};

只有具有此属性集的列才会在网格标题中显示为超链接,允许用户对其进行排序。

于 2011-09-15T13:27:35.410 回答