Asp.net mvc 3 ASP.NET MVC 3 WebGrid排序顺序图像

Asp.net mvc 3 ASP.NET MVC 3 WebGrid排序顺序图像,asp.net-mvc-3,webgrid,Asp.net Mvc 3,Webgrid,我正在使用WebGrid,我希望在标题中有一个像“^”“v”这样的图像或字符,显示具有排序顺序的列 我该怎么做 这是我的一个Webgrids的代码: <div id="contenedor-gridACTIVIDAD"> @{ WebGrid gridACTIVIDAD = new WebGrid(Model.actividadDiaria, ajaxUpdateContainerId: "contenedor-gridACTIVIDAD", row

我正在使用WebGrid,我希望在标题中有一个像“^”“v”这样的图像或字符,显示具有排序顺序的列

我该怎么做

这是我的一个Webgrids的代码:

<div id="contenedor-gridACTIVIDAD">

    @{    
        WebGrid gridACTIVIDAD = new WebGrid(Model.actividadDiaria, ajaxUpdateContainerId: "contenedor-gridACTIVIDAD", rowsPerPage: 20);



    }
    @gridACTIVIDAD.GetHtml(


                 fillEmptyRows: true,
                 alternatingRowStyle: "fila-alternativa",
                 headerStyle: "encabezado-grid",
                 footerStyle: "pie-grid",
                 mode: WebGridPagerModes.All,
                 firstText: "<<",
                 previousText: "<",
                 nextText: ">",
                 lastText: ">>",





         columns: new[]     {
                            gridACTIVIDAD.Column("contrato", header: "Contrato"),                            
                            gridACTIVIDAD.Column("Observacion", header: "Observación"),
                            gridACTIVIDAD.Column("DESCR", header: "Tarea"),                            
                            gridACTIVIDAD.Column("FECHA", header: "Fecha",
                            format: (item) =>
                                {
                                    return item.fecha.ToString("dd/MM/yyyy");
                                }

                            ),
                            gridACTIVIDAD.Column("", 
                            header: "ESTADO",                            
                            format: (item) =>
                            {                                                
                                if (item.estado == "VC")
                                {
                                    return Html.Image("/Imagenes/vc.gif","Validado correcto", new { @border = "0"});
                                }
                                else if (item.estado == "VI")
                                {
                                    return Html.Image("/Imagenes/vi.gif", "Validado incorrecto", new { @border = "0" });
                                }
                                else if (item.estado == "NV")
                                {
                                    return Html.Image("/Imagenes/vp.gif", "No validado", new { @border = "0" });
                                }
                                else
                                {
                                    return Html.Image("/Imagenes/nv.png", "Pendiente validar", new { @border = "0" });
                                }

                            }                           
                            ),
                            gridACTIVIDAD.Column("JDP", header: "JDP")

                            }


                        )

</div>

@{    
WebGrid gridACTIVIDAD=新的WebGrid(Model.Actividadiaria,ajaxUpdateContainerId:“contendor gridACTIVIDAD”,行页面:20);
}
@gridACTIVIDAD.GetHtml(
是的,
交替生长方式:“fila alternativa”,
头型:“encabezado网格”,
页脚样式:“饼图网格”,
模式:WebGridPagerModes.All,
第一个文本:“,
列:新[]{
gridACTIVIDAD.Column(“contrato”,标题:“contrato”),
gridACTIVIDAD.Column(“Observacion”,标题:“Observación”),
gridACTIVIDAD.Column(“DESCR”,标题:“Tarea”),
列(“FECHA”,标题:“FECHA”,
格式:(项目)=>
{
返回项。fecha.ToString(“dd/MM/yyyy”);
}
),
gridACTIVIDAD.Column(“”,
标题:“ESTADO”,
格式:(项目)=>
{                                                
如果(item.estado==“VC”)
{
返回Html.Image(“/Imagenes/vc.gif”,“Validado correcto”,new{@border=“0”});
}
否则如果(item.estado==“VI”)
{
返回Html.Image(“/Imagenes/vi.gif”,“Validado incorrecto”,new{@border=“0”});
}
否则如果(item.estado==“NV”)
{
返回Html.Image(“/Imagenes/vp.gif”,“No validado”,new{@border=“0”});
}
其他的
{
返回Html.Image(“/Imagenes/nv.png”,“Pendiente validar”,new{@border=“0”});
}
}                           
),
列(“JDP”,标题:“JDP”)
}
)

我刚刚在“webgrid排序指示器”上进行了谷歌搜索,结果来自

基本上,用户使用jQuery添加排序方向图像

<script type="text/javascript">
    $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent()
    .append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")');
</script>

$('thead>tr>th>a[href*=“sort=@grid.SortColumn”]).parent()
.append('@(grid.SortDirection==SortDirection.升序?“U”:“D”);
(作为额外的奖励,我只是自己测试了它,所以你可以复制和粘贴这个代码(链接一是一个图片而不是一个代码示例:(…)只要用你想显示的任何东西替换U和D即可


希望这能有所帮助。

我刚刚在“webgrid排序指示器”上进行了谷歌搜索,结果来自

基本上,用户使用jQuery添加排序方向图像

<script type="text/javascript">
    $('thead > tr > th > a[href*="sort=@grid.SortColumn"]').parent()
    .append('@(grid.SortDirection == SortDirection.Ascending ? "U" : "D")');
</script>

$('thead>tr>th>a[href*=“sort=@grid.SortColumn”]).parent()
.append('@(grid.SortDirection==SortDirection.升序?“U”:“D”);
(作为额外的奖励,我只是自己测试了它,所以你可以复制和粘贴这个代码(链接一是一个图片而不是一个代码示例:(…)只要用你想显示的任何东西替换U和D即可


希望对您有所帮助。

我已使用解决了服务器端的此问题

这是视图的代码:

WebGrid webGrid = new WebGrid(Model.myModel, defaultSort: "title", rowsPerPage: 20);
IHtmlString webGridHtml = webGrid.GetHtml(
                columns: webGrid.Columns(
                    webGrid.Column("id", "ID"),
                    webGrid.Column("title", "Title")
                )
            );
@Helper.GetExtendedWebGrid(webGrid, webGridHtml);
这是Helper类的代码:

    public static IHtmlString GetExtendedWebGrid(WebGrid webGrid, IHtmlString webGridHtml)
    {
        HtmlString result;

        string webGridHtmlString = webGridHtml.ToString();

        HtmlDocument htmlDocument = new HtmlDocument();

        htmlDocument.LoadHtml(webGridHtmlString);
        HtmlNode htmlNodeAnchor = htmlDocument.DocumentNode.SelectSingleNode("//a[contains(@href,'" + webGrid.SortColumn + "')]");
        if (htmlNodeAnchor != null)
        {
            string imgSortDirection;
            if (webGrid.SortDirection == SortDirection.Ascending)
                imgSortDirection = "asc";
            else
                imgSortDirection = "desc";
            HtmlNode htmlNodeIcon = HtmlNode.CreateNode("<img src=\"/images/" + imgSortDirection + ".png\" width=\"10\" height=\"10\" />");

            htmlNodeAnchor.ParentNode.AppendChild(htmlNodeIcon);

            webGridHtmlString = htmlDocument.DocumentNode.OuterHtml;
        }

        result = new HtmlString(webGridHtmlString);

        return result;
    }
公共静态IHtmlString GetExtendedWebGrid(WebGrid WebGrid,IHtmlString webGridHtml)
{
HtmlString结果;
字符串webGridHtmlString=webGridHtml.ToString();
HtmlDocument HtmlDocument=新HtmlDocument();
加载HTML(webGridHtmlString);
HtmlNode htmlNodeAnchor=htmlDocument.DocumentNode.SelectSingleNode(//a[contains(@href,“+webGrid.SortColumn+”)]);
if(htmlNodeAnchor!=null)
{
字符串imgSortDirection;
if(webGrid.SortDirection==SortDirection.Ascending)
imgSortDirection=“asc”;
其他的
imgSortDirection=“desc”;
HtmlNode htmlNodeIcon=HtmlNode.CreateNode(“”);
htmlNodeAnchor.ParentNode.AppendChild(htmlNodeIcon);
webGridHtmlString=htmlDocument.DocumentNode.OuterHtml;
}
结果=新的HtmlString(webGridHtmlString);
返回结果;
}

我已经在服务器端使用解决了这个问题

这是视图的代码:

WebGrid webGrid = new WebGrid(Model.myModel, defaultSort: "title", rowsPerPage: 20);
IHtmlString webGridHtml = webGrid.GetHtml(
                columns: webGrid.Columns(
                    webGrid.Column("id", "ID"),
                    webGrid.Column("title", "Title")
                )
            );
@Helper.GetExtendedWebGrid(webGrid, webGridHtml);
这是Helper类的代码:

    public static IHtmlString GetExtendedWebGrid(WebGrid webGrid, IHtmlString webGridHtml)
    {
        HtmlString result;

        string webGridHtmlString = webGridHtml.ToString();

        HtmlDocument htmlDocument = new HtmlDocument();

        htmlDocument.LoadHtml(webGridHtmlString);
        HtmlNode htmlNodeAnchor = htmlDocument.DocumentNode.SelectSingleNode("//a[contains(@href,'" + webGrid.SortColumn + "')]");
        if (htmlNodeAnchor != null)
        {
            string imgSortDirection;
            if (webGrid.SortDirection == SortDirection.Ascending)
                imgSortDirection = "asc";
            else
                imgSortDirection = "desc";
            HtmlNode htmlNodeIcon = HtmlNode.CreateNode("<img src=\"/images/" + imgSortDirection + ".png\" width=\"10\" height=\"10\" />");

            htmlNodeAnchor.ParentNode.AppendChild(htmlNodeIcon);

            webGridHtmlString = htmlDocument.DocumentNode.OuterHtml;
        }

        result = new HtmlString(webGridHtmlString);

        return result;
    }
公共静态IHtmlString GetExtendedWebGrid(WebGrid WebGrid,IHtmlString webGridHtml)
{
HtmlString结果;
字符串webGridHtmlString=webGridHtml.ToString();
HtmlDocument HtmlDocument=新HtmlDocument();
加载HTML(webGridHtmlString);
HtmlNode htmlNodeAnchor=htmlDocument.DocumentNode.SelectSingleNode(//a[contains(@href,“+webGrid.SortColumn+”)]);
if(htmlNodeAnchor!=null)
{
字符串imgSortDirection;
if(webGrid.SortDirection==SortDirection.Ascending)
imgSortDirection=“asc”;
其他的
imgSortDirection=“desc”;
HtmlNode htmlNodeIcon=HtmlNode.CreateNode(“”);
htmlNodeAnchor.ParentNode.AppendChild(htmlNodeIcon);
webGr