MVC显示表格,点击列头可以排序

原创 2016年08月31日 15:03:49

前台:

                        <table class="table table-bordered table-hover">
                            <thead>
                                <tr>
                                    <th>序号</th>
                                    <th style="max-width: 100px; vertical-align:middle;">章名称</th>
                                    <th style="max-width: 150px;">节名称</th>
                                    <th>思维导图名称</th>
                                    <th>学员名称</th>
                                    <th>思维导图文件</th>
                                    <th>描述</th>
                                    @*<th>得分</th>*@
                                    <th>@Html.Partial("UndefinedPicSort", "sortCode", new ViewDataDictionary { { "ColumnName", "Score" },{"SortType",ViewData["SortType"]}, { "DisplayName", "得分" },{"TrainingId",ViewData["TrainingId"]},{"UnitContent",ViewData["UnitContent"]},{"ClassId",ViewData["ClassId"]},{"AccountId",ViewData["AccountId"]} })</th>
                                    <th>@Html.Partial("UndefinedPicSort", "sortCode", new ViewDataDictionary { { "ColumnName", "CreateDate" },{"SortType",ViewData["SortType"]}, { "DisplayName", "提交时间" },{"TrainingId",ViewData["TrainingId"]},{"UnitContent",ViewData["UnitContent"]},{"ClassId",ViewData["ClassId"]},{"AccountId",ViewData["AccountId"]} })</th>
                                    <th>是否是前三名</th>
                                    <th>评分</th>
                                </tr>
                            </thead>
                            <tbody>
                                @{
                                    var i = 1;
                                    string strAtt = string.Empty;
                                    //  章Id
                                    var chapterId = 0;
                                    var lastChapterId = 0;
                                    //  节Id
                                    var sectionId = string.Empty;
                                    var lastSectionId = string.Empty;
                                    foreach (CourseUndefinedPicInfe cupi in ViewBag.UndefinedPicList)
                                    {
                                        var accout = accountBll.GetModel(int.Parse(cupi.AuthorId), "");
                                        var baseInfo = baseBll.GetListModel(" Delflag=0 and AccountId=" + cupi.AuthorId);
                                        chapterId = cupi.Id;
                                        sectionId = string.IsNullOrEmpty(cupi.SecionId) ? "0" : cupi.SecionId;
                                        var spanChapter = ((List<CourseUndefinedPicInfe>)ViewBag.UndefinedPicList).FindAll(t => t.Id == cupi.Id).Count;
                                        var spanSection = ((List<CourseUndefinedPicInfe>)ViewBag.UndefinedPicList).FindAll(t => t.SecionId == cupi.SecionId).Count;
                                    <tr>
                                        <td class="contentMiddle">@i</td>
                                        @if (chapterId != lastChapterId)
                                        {
                                            <td id="ChapterTitle_@cupi.Id" rowspan="@spanChapter">@cupi.ChapterTitle</td>
                                        }
                                        @if (sectionId != lastSectionId)
                                        {
                                            <td id="SecionTitle_@cupi.SecionId" rowspan="@spanSection">@cupi.SecionTitle</td>
                                        }
                                        <td class="contentMiddle">@cupi.TaskTitle</td>
                                        <td class="contentMiddle">
                                            @if (baseInfo.Count > 0)
                                            {
                                                @baseInfo.First().RealName
                                            }
                                            else
                                            {
                                                @accout.Nickname
                                            }
                                        </td>

                                        <td class="contentMiddle">
                                            <div style="float: right; padding: 5px 0;" id="AttachNameList">
                                                @if (!string.IsNullOrEmpty(@cupi.AttList))
                                                {
                                                    //解析Json
                                                    JavaScriptSerializer jr = new JavaScriptSerializer();
                                                    var HomeWorkAtt = jr.Deserialize<List<Dianda.AP.Model.Course_UnitHomeWorkOther>>(@cupi.AttList);

                                                    if (HomeWorkAtt != null && HomeWorkAtt.Count > 0)
                                                    {
                                                        foreach (var AttItem in HomeWorkAtt)
                                                        {
                                                            strAtt += "0," + AttItem.AttName + "," + AttItem.AttPath + ":";                                                    
                                                    <a href="DownloadFile?FilePath=@AttItem.AttPath&FileName=@AttItem.AttName">@AttItem.AttName</a>
                                                    <br />
                                                        }
                                                    }
                                                }
                                            </div>
                                        </td>

                                        <td class="contentMiddle">@Html.Raw(cupi.HomeWorkContent)</td>
                                        <td class="contentMiddle">@cupi.Score</td>
                                        <td class="contentMiddle">@cupi.CreateTime</td>
                                        <td class="contentMiddle">@{if (cupi.IsTopThree == true) {<span>是</span>} else {<span>否</span>}}</td>
                                        <td class="contentMiddle">
                                            @if (!string.IsNullOrEmpty(@cupi.AuthorId) && @cupi.AuthorId != ViewBag.AccountId)
                                            {
                                                <input type="text" style="width:50px;" id="@cupi.HId" />
                                                <input type="button" onclick="submitScore(@cupi.HId)" value="确定" />
                                            }
                                        </td>
                                    </tr>
                                            i++;
                                            lastChapterId = cupi.Id;
                                            lastSectionId = cupi.SecionId;
                                    }
                                }
                            </tbody>
                        </table>

UndefinedPicSort:

@{
    //路由数据 如:Employee/Sortable?sortBy=EmployeeNO&ascending=False
    var routeData = new RouteValueDictionary {
    { "sortCode", ViewData["ColumnName"].ToString() }, 
    { "sortType", ViewData["SortType"].ToString() },
    {"trainingId",ViewData["TrainingId"].ToString()},
    {"unitContent",Dianda.Common.QueryString.Encrypt(ViewData["UnitContent"].ToString())},
    {"classId",ViewData["ClassId"].ToString()},
    {"accountId",Dianda.Common.QueryString.Encrypt(ViewData["AccountId"].ToString())},
    };


    var htmlAttributes = new Dictionary<string, object>();
    if (ViewData["SortType"].ToString() == "ASC")
    {
        htmlAttributes.Add("class", "sortAsc");//添加css样式
    }
    else
    {
        htmlAttributes.Add("class", "sortDesc");
    }
 
    @Html.ActionLink(
    ViewData["DisplayName"].ToString(), // 链接文本 
    Html.ViewContext.RouteData.Values["action"].ToString(), // Action 
    Html.ViewContext.RouteData.Values["controller"].ToString(), // Controller 
    routeData, // 路由数据
    htmlAttributes //HTML属性适用于超链接
    ) 
}


MVC+EasyUI实现查询显示到相应表格

这里要说的显示界面是Razor页面,我们要使用easyui首先应该在界面中添加相应的引用,如下代码,这些都是必要的引用文件,可以根据自己所存放的路径来添加src地址。 @*添加Jquery Easy...

ASPNET MVC表格呈现利器:MvcContrib.UI.Grid

ASPNET MVC框架现在日趋流行,最近我也刚完成一个用ASPNET MVC框架做的项目,现在想做一些阶段性的总结。 很多 原来在WinForm下面的流行控件例如GridView,ListVi...
  • educast
  • educast
  • 2012年07月05日 12:40
  • 3281

MVC3.0表格排序和分页

ASP.NET MVC里显示表格不像WebForm里那般容易。我归纳有以下三种方式:1JQERY+插件的方式。2、在页面通过  Foreach循环的方式做显示。3、使用开源控件,比如MvcContri...
  • sven_xu
  • sven_xu
  • 2015年06月02日 09:23
  • 569

MVC5学习系列——排序、过滤、分页

MVC5学习笔记,这次练习一下MVC列表的排序、筛选、分页。参考官网地址:Sorting, Filtering, and Paging with the Entity Framework in an...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

点击表头实现排序

单击表头单元格实现排序          在DRP项目中,讲解真是详略得当。对原理性和思想像的内容(比如Servlet、filter过滤器)进行了细致的分析并用RationalRose画程序执行顺序...

bootstrap-table 点击列头进行排序,搜索

bootstrap-table 点击列头进行排序,搜索

(三) MVC实现表格排序

出处:http://www.cnblogs.com/lukun/archive/2011/08/16/2139541.html 数据库为上文中数据库 1. 下载用于Linq中OrderBy中的类,...

Asp.Net MVC 视图(显示数据库数据表格)3

Asp.Net MVC 视图(显示数据库数据表格) - Part.3 在这篇教程中,我示范了显示一系列数据库记录的两个方法。我演示了在一个HTML表格中格式化一系列数据库记录的两个方法。首先,我演示...

【 MVC 】显示数据库数据表格

之前看。net之美很多地方都看不明白,但是今天重新看了一下,觉得很有感悟。 我演示了在一个HTML表格中格式化一系列数据库记录的两个方法。首先,我演示了如何直接在视图中格式化数据库记录。接下来,我示...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MVC显示表格,点击列头可以排序
举报原因:
原因补充:

(最多只允许输入30个字)