gpt4 book ai didi

c# - 如何将 [ScaffoldColumn(false)] 设置为动态数据的默认值?

转载 作者:行者123 更新时间:2023-11-30 16:35:57 25 4
gpt4 key购买 nike

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

目前,当动态数据构建表时,它会创建所有列,除非我将 [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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com