您的位置:首页 > 其它

MVC3-RAZOR尝鲜2细说实用的WebGrid

2010-12-05 17:04 253 查看
1WebGrid的方法签名

public WebGrid(

IEnumerable<dynamic> source, 设置数据源

IEnumerable<string> columnNames = null, 要显示的列名

string defaultSort = null, 默认排序的字段

int rowsPerPage = 10, 每页的行数

bool canPage = true, 是否允许分页

bool canSort = true, 是否允许排序

string ajaxUpdateContainerId = null,

string ajaxUpdateCallback = null,

string fieldNamePrefix = null,字段名的前缀

string pageFieldName = null,

string selectionFieldName = null,

string sortFieldName = null,

string sortDirectionFieldName = null);

代码

List<CMS5_Razor.Models.Test> list = new List<CMS5_Razor.Models.Test>();
for (int i = 0; i < 210; i++) {
list.Add(new CMS5_Razor.Models.Test() { Name = "name" + i, Order = i, Content = "content" + i });
}
var grid = new WebGrid(source: list, rowsPerPage: 5, canPage: true
, selectionFieldName: "Name"
, fieldNamePrefix: "字段名的前缀"
);

2WebGrid.GetHtml函数签名

public IHtmlString GetHtml(

string tableStyle = null,表格样式

string headerStyle = null,头部

string footerStyle = null, 底部

string rowStyle = null, 每一行的样式

string alternatingRowStyle = null, 交替行

string selectedRowStyle = null, 被选中

string caption = null,标题

bool displayHeader = true, 是否显示头部

bool fillEmptyRows = false, 是否填充空行

string emptyRowCellValue = null, 空行里每个字段显示的值

IEnumerable<WebGridColumn> columns = null, 在这里设置各列

IEnumerable<string> exclusions = null, 不显示的字段

WebGridPagerModes mode =枚举值,一般情况选择WebGridPagerModes.All

string firstText = null, 对应第一页链接显示的文字

string previousText = null, 对应上一页链接显示的文字

string nextText = null, 对应下一页链接显示的文字

string lastText = null, 对应最后一页链接显示的文字

int numericLinksCount = 5,数字选择项的数目

object htmlAttributes = null ~beta版本源码中没查到,暂时不知道如何使用,

);

3Column的方法签名

public WebGridColumn Column(string columnName = null,

string header = null,列头的名字

Func<dynamic, object> format = null, 自定义的输出,非常实用

string style = null, 样式

bool canSort = true);是否允许排序

@grid.GetHtml(
columns: grid.Columns(
grid.Column("Name", "名字", style: "mynameStyle"),
grid.Column("Content", "Content", style: "mynameStyle"),
grid.Column("Order", "顺序", format: @<b><i>@item.Order</i></b>, canSort: false)
), tableStyle: "grid", headerStyle: "headerStyle1", selectedRowStyle: "selectedRowStyle",
caption: "我是标题", displayHeader: !IsPost,
fillEmptyRows: !IsPost, emptyRowCellValue: "这行没东西",
mode: WebGridPagerModes.All, firstText: "第一页",
previousText: "上一页", nextText: "下一页", lastText: "最后一页",
numericLinksCount: 15
)

效果



我的感受:

1 功能非常多。常用的基本上都包括了。 包括分页和排序。

2 似乎之前MVC2的时候是没有辅助生产表格的。而且之前开源社区提供的contribute库也没有这个好用。

3 RAZOR为我们做了太多了,太方便了!新手慎用!

4 还有一些特性如 ajaxUpdateContainerId,htmlAttributes 没有使用,也不好说。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: