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

  • 相关阅读:
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    Atitit.播放系统规划新版本 v4 q18 and 最近版本回顾
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    atitit.极光消息推送服务器端开发实现推送  jpush v3. 总结o7p
    Atitit.文件搜索工具 attilax 总结
    Atitit.文件搜索工具 attilax 总结
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit.软件命名空间  包的命名统计 及命名表(2000个名称) 方案java package
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
    Atitit..状态机与词法分析  通用分词器 分词引擎的设计与实现 attilax总结
  • 原文地址:https://www.cnblogs.com/facingwaller/p/how_to_use_webgrid_in_razor.html
Copyright © 2011-2022 走看看