jquery - 使用带有隐藏列的 WebGrid Helper 时默认排序不起作用
问题描述
我正在使用@grid.GetHtml
gridview 在我的 ASP.NET MVC4 应用程序中显示网格。
使用带有列(主键)的 WebGrid Helper 隐藏时,默认排序不起作用。
使用 SP 获取 web 网格数据,并且在 SP 中给出了默认排序。
我的代码:
@grid.GetHtml(
htmlAttributes: new
{
id = "XXXX"
},
tableStyle: "table table-bordered table-condensed table-hover table-striped",
headerStyle: "info",
footerStyle: "webgrid-footer",
alternatingRowStyle: "webgrid-alternating-row",
selectedRowStyle: "webgrid-selected-row",
rowStyle: "gridrow",
columns: grid.Columns(
grid.Column("AAAA", "AAAA",style:"hidecol") //Primary Column Name is “AAAA”
)
)
用于隐藏主列的列标题的 JQuery 代码。
<script type="text/javascript">
$(document).ready(function() {
$("# XXXX th:nth-child(1)").hide();
});
</script>
解决方案
您可以在将它们传递给视图之前对控制器中的项目进行排序。这样他们应该保留你想要的顺序:
public IActionResult Index()
{
var items = new List<obj>(){new obj(5), new obj(1), new obj(355)};
var sortedItems = items.OrderBy(o => o.Id);
return View(sortedItems);
}
如果您需要一种在视图本身中对它们进行排序的方法,您可以执行类似的操作
public IActionResult Index(string sortOrder)
{
var items = new List<obj>(){new obj(5), new obj(1), new obj(355)};
if (sortOrder == "ASC")
{
items = items.OrderBy(o => o.Id).ToList();
}
return View(items);
}
从按钮或视图中需要的任何位置调用该控制器的位置
推荐阅读
- python - 使用 Docker 和 Whitenoise 在 Heroku 上部署时未加载 Django 静态文件
- python - 检索图像失败
- python-3.x - 用于生成列表子集的递归
- karate - 动态响应的空手道断言
- javascript - .width() 和 .height() 的 Javascript 等效项
- node.js - 角度:updateRenderer 抛出无法读取字符串变量未定义的属性“名称”
- ruby - 使用 libvips ruby 创建形状
- python - 无法在 manim Linux(Ubuntu)中从“PIL”导入名称“_imaging”
- java - 群通知不显示
- docker - 多台Docker主机通信