- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有很多表,其中有很多列,我正在使用动态数据。我只想显示一小部分列。
目前,当动态数据构建表时,它会创建所有列,除非我将 [ScaffoldColumn(false)] 设置为 false。这可行,但由于我只想显示列的一小部分,因此打开它们比关闭它们更容易。
有没有办法改变默认行为,除非我告诉它,否则列不会被搭建起来?
最佳答案
我不知道开箱即用的方法。但是,您可以创建自己的自定义属性来执行此操作。
以下是有关如何创建自定义属性以控制 DD 工作方式的一些示例:
http://csharpbits.notaclue.net/2009/04/hiding-foreign-key-column-globally-in.html - 创建属性以隐藏所有表的外键列的示例。
http://csharpbits.notaclue.net/2008/10/dynamic-data-hiding-columns-in-selected.html - 用于隐藏列但应用于页面级别的另一个属性示例。
我看到第一个是在表级别定义的,这也许是您最好的选择。您可以创建自己的属性(例如 HideFieldsByDefault)并将其设置为 true。
然后,您可以将要与 ScaffoldColumn 一起显示的字段添加到 true,然后在 IAutoFieldGenerator 的 GenerateFields 方法的代码中,您将查找您的自定义属性和相应的代码,如果您的属性不是他们的,那么您将直接使用默认的DD方式即可。
您也可以使用自己的元数据提供程序执行此操作:
http://mattberseth.com/blog/2008/08/dynamic_data_and_custom_metada.html
在这方面,我不确定您如何使用自定义提供程序来做到这一点,但也许稍作研究就会发现它是一个不错的选择。
关于c# - 如何将 [ScaffoldColumn(false)] 设置为动态数据的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1440272/
我是一名优秀的程序员,十分优秀!