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

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  没有使用,也不好说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值