gpt4 book ai didi

c# - DropDownList : DataTextField, DataValueField ... DataEnabledField?

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:44 25 4
gpt4 key购买 nike

我目前正在使用一个继承自 DropDownList 的控件(它有一些与这个问题并不真正相关的额外功能,但它为我提供了一个很好的地方来实现我要讨论的额外内容) .

我们正在使用数据绑定(bind),DataTextField 和 DataValueField 工作得非常好。但是,我发现自己需要一个类似的字段来控制该项目是否启用。 (我已经覆盖了控件的 RenderContents 方法,因此它可以正确呈现未启用的项目,因为 DropDownList 默认情况下不会这样做。)

因此,我想知道如何覆盖 DropDownList 的数据绑定(bind),使其完全正常运行,除了每个 DataSource 项目的另一个字段应用于每个 ListItem 的 Enabled 属性。

(注意:我要绑定(bind)的字段不是直接的 bool 值,也没有显式/隐式转换为 bool 值,所以我可能会将其作为字符串“传递”。)

最佳答案

DropDownList 控件的绑定(bind)逻辑实际上是在其基类ListControl 中实现的。您需要覆盖的方法是 PerformDataBinding(IEnumerable)

您可以查看 Reflector 中的默认实现以确保您没有遗漏任何内容,但它是 protected 虚拟的,因此您应该不会有任何问题。只需调用 base,然后添加您需要的逻辑即可。

关于c# - DropDownList : DataTextField, DataValueField ... DataEnabledField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948447/

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