我有很多列,我正在使用动态数据。我只想显示一小部分列。

目前,当动态数据支持表时,它会创建所有列,除非我将[ScaffoldColumn(false)]设置为false。这是有效的,但由于我只想显示一小部分列,因此更容易将它们打开而不是关闭。

有没有办法更改默认行为,因此除非我告诉它,否则列不是脚手架?

有帮助吗?

解决方案

我不知道开箱即用的方法。但是,您可以创建自己的自定义属性来执行此操作。

以下是一些有关如何创建自定义属性以控制DD工作方式的示例:

http://csharpbits.notaclue .net / 2009/04 / hiding-foreign-key-column-global-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

在这个问题上,我不确定如何使用自定义提供商来完成它,但也许一些研究会将其视为一个不错的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top