zoukankan      html  css  js  c++  java
  • MVC3RAZOR尝鲜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  没有使用,也不好说。

  • 相关阅读:
    页面静态化3 --- 伪静态技术
    9.14[XJOI] NOIP训练33
    9.13[XJOI] NOIP训练32
    Hello world!
    BZOJ-1853: [Scoi2010]幸运数字 (容斥原理)
    luogu1983[NOIP2013pjT4] 车站分级(拓扑排序)
    luogu1113 杂物 (拓扑排序)
    POJ-1094 Sorting It All Out && luogu1347 排序 (拓扑排序)
    BZOJ-1965: [Ahoi2005]SHUFFLE 洗牌 (快速幂+乘转加)
    BZOJ-2705: [SDOI2012]Longge的问题 (欧拉函数)
  • 原文地址:https://www.cnblogs.com/facingwaller/p/how_to_use_webgrid_in_razor.html
Copyright © 2011-2022 走看看