如何使用 ASP.Net MVC3 隐藏 Web 网格中隐藏字段的列?

发布于 2024-12-19 05:01:07 字数 229 浏览 0 评论 0原文

我如何隐藏应该从视图中隐藏的列。我通过隐藏对象来处理此问题,但该列在 UI 中仍然显示为瘦列,行中没有任何内容。有什么办法可以防止物品被绘制吗?

grid.Column(null, null, format: @<input type="hidden" name="RevisionId" value="@item.LatestRevisionId"/>)

谢谢。

How would I hide a column that should be hidden from view. I handled this by hiding the object, but the column still shows in the UI as a skinny column with nothing in the rows. Is there way to prevent the item from being drawn?

grid.Column(null, null, format: @<input type="hidden" name="RevisionId" value="@item.LatestRevisionId"/>)

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜未央樱花落 2024-12-26 05:01:08

WebGrid 帮助程序允许您使用 style 属性将 CSS 类应用到各个列。不幸的是,虽然这将允许您隐藏 tbody 部分内的列,但您无法将不同的样式应用于列标题。您可以将相同的样式应用于所有列,这使得它毫无用处。因此,一种可能性是使用 CSS:

table th:first-child, table td:first-child {
    display: none;
}

这假设您想要隐藏第一列并且客户端浏览器支持 :first-child 伪选择器,旧版浏览器可能不会出现这种情况。

因此,如果您需要支持旧版浏览器,您可以使用 jQuery 将隐藏样式应用于标题和第一列的行,或者直接隐藏它们:

$(function () {
    $('table th:first-child, table td:first-child').hide();
});

如果您想要更多控制,我建议您查看 < a href="http://mvccontrib.codeplex.com/wikipage?title=Grid" rel="noreferrer">MvcContrib 网格 或 Telerik 网格

The WebGrid helper allows you to apply a CSS class to individual columns using the style property. Unfortunately while this will allow you to hide the column inside the tbody section you cannot apply different styles to column headers. You can apply the same style to all columns which makes it pretty useless. So one possibility is to use CSS:

table th:first-child, table td:first-child {
    display: none;
}

This assumes that you want to hide the first column and that the client browser supports the :first-child pseudo selector which might not be the case with legacy browsers.

So in case you need to support legacy browsers you could use jQuery to apply a hidden style to the header and the rows of the first column or to simply hide them directly:

$(function () {
    $('table th:first-child, table td:first-child').hide();
});

If you want to have more control I would recommend you checking out the MvcContrib Grid or Telerik Grid.

荒芜了季节 2024-12-26 05:01:08

*强文本*Darin 的解决方案只是部分的,因为“table th:first-child”还将隐藏“canPage:true”网格页脚(用于分页) 。

解决方案是添加额外样式

在“head”部分(或者如果您想将其应用于所有表格,则在 CSS 文件中):

<style type="text/css">
    .nodisplay {display: none;}
</style>

在 Webgrid 部分中:

footerStyle : "table-footer",
...
grid.Column(null, null, style:"nodisplay", ...

在 CSS 文件中:

.table-footer {
    display: normal
}

*strong text*Solution from Darin is only partial as the "table th:first-child" will also hide the "canPage:true" grid footer (used for paging).

Solution is to add additional styling.

In the "head" section of your (or alternatively in the CSS file if you want to apply it on all tables):

<style type="text/css">
    .nodisplay {display: none;}
</style>

In the Webgrid section:

footerStyle : "table-footer",
...
grid.Column(null, null, style:"nodisplay", ...

In the CSS file:

.table-footer {
    display: normal
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文