【问题标题】:Aligning WebGrid headers ASP.net MVC对齐 WebGrid 标头 ASP.net MVC
【发布时间】:2014-05-31 05:50:27
【问题描述】:

我需要为 ASP.net WebGrid 中的各个列标题设置文本对齐方式。 找到了这个,MVC3 WebGrid header alignment 和其他许多人都在问同样的问题,但没有真正令人满意的答案。

除非它看起来完全一样,采用相同的参数等,否则不太适合用另一个网格替换它。已经通过另一个网格并使其工作,但分页 UI 控件不同,并且无法控制页脚样式, 或单元格样式

支持从 WebGrid 继承并自行开发 - 但我根本不是 CSS/HTML 专家。有什么简单的方法吗?

【问题讨论】:

  • 最简单的方法是学习 CSS 并应用它。
  • 很有帮助。 WebGrid 的问题在于它不允许允许您应用任何影响逐列标题的样式 - 正如任何熟悉它的人都会知道的那样。将same 样式应用于all 列标题很容易,但这不是当前的问题。我说我不是专家 - 我没有说我完全无知。
  • 很公平。希望我下面的回复对你有帮助。

标签: asp.net asp.net-mvc webgrid


【解决方案1】:

你可以通过 CSS3 伪选择器 :nth-child 做你想做的事。以下将仅设置第二列标题的样式:

th:nth-child(2){
    color:red;
}

IE 8 不支持,所以如果这对您很重要,您可以使用 jQuery 来应用样式:

$(function () {
    $('th:nth-child(2)').css('color', 'red');
});

【讨论】:

  • 我正在尝试一种通用解决方案,该解决方案可以应用于任何列、任何网格、任何页面上。我确实想出了自己的方法......
【解决方案2】:

最后,因为我希望 Web 应用程序中任何网格中的任何列都具有这种行为(并且因为我对 C# 和反射非常熟悉),所以我将 WebGrid 子类化并创建了我们自己的版本,它确实允许样式在设置网格时指定。

由于 WebGrid 的编写方式,它确实涉及通过反汇编程序提取几个私有方法,所以它可能不符合每个人的口味,但我现在拥有了我想要的东西。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-29
  • 2012-05-22
  • 2012-09-03
  • 2013-01-07
  • 2012-04-10
  • 2011-08-13
相关资源
最近更新 更多