Asp.net mvc 3 ASP.NET MVC 3 WebGrid排序顺序图像
我正在使用WebGrid,我希望在标题中有一个像“^”“v”这样的图像或字符,显示具有排序顺序的列 我该怎么做 这是我的一个Webgrids的代码: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
<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