gpt4 book ai didi

c# - datagridview 组合框列更改绑定(bind)列表数据 --> 自动显示

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

我想要一个:

BindingList XYZ = new BindingList();

BindingList的一个Item有一行TextBox-Cell和ComboBox-Cell的数据。如果用户现在更改 ComboBox 的数据,他希望立即将其显示在屏幕上。是否可以只用一个直接绑定(bind)到datagridview的List来实现:

DataSource_of_the_datagridview = XYZ;

如果 ComboBox 发生变化,BindingList 的底层数据以及 datagridview 的显示数据是否会发生变化?

我想使用 datagridtextboxcolumn 和 datagridcomboboxcolumn。我应该在代表一行的对象中做什么。我已经在这些对象行的类中使用了它:

class Fahrzeug : INotifyPropertyChanged
{

public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string propertyName){
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}

}
}

最佳答案

我建议在任何所需的属性(在其 setter 中)上引发“PropertyChanged”事件,这将实时通知绑定(bind)对象的更改,并且 UI 将处理它们。

我们在基类中使用类似的东西: DataGridView.BindingList = new BindingList<object who inherits this>()

public void SetFieldValue<T>(T field, T value, params string[] propertyNames)
{
Foreach var propName In PropertyNames
{
NotifyPropertyChanged(propName)
}
}

然后确保你在这个 BindingList 上有 ONY one REFERENCE,并修改任何对象,它会在网格中更新自己......

关于c# - datagridview 组合框列更改绑定(bind)列表数据 --> 自动显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753875/

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