我正在使用Webgrid显示一些动态数据。最近,我重构了代码,以摆脱层次模型,该模型包含要在View中显示的各种不同类型的数据,以使用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)
)
}
有人有想法吗?
谢谢。
最佳答案
确保已将CanSort
的true
属性设置为ViewBag.columns
:
ViewBag.columns = new[]
{
new WebGridColumn
{
ColumnName = "Id"
},
new WebGridColumn
{
CanSort = true,
ColumnName = "StudyName"
},
};
只有设置了此属性的列才会在网格标题中显示为超链接,从而允许用户对其进行排序。
关于c# - ASP.net MVC3 Webgrid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7431428/