如何在 C# 中进行数据绑定?

     2023-02-22     151

关键词:

【中文标题】如何在 C# 中进行数据绑定?【英文标题】:How can I do Databinding in c#? 【发布时间】:2010-09-12 00:49:41 【问题描述】:

我有以下课程

公共级汽车 公共名称get;放;

我想以编程方式将其绑定到文本框。

我该怎么做?

在黑暗中拍摄:

... 汽车 car = new Car(); TextEdit 编辑框 = new TextEdit(); editBox.DataBinding.Add("名称", car, "汽车 - 名称"); ...

我收到以下错误

“无法绑定到目标控件上的属性“名称”。

我做错了什么,我应该怎么做?我发现来自网络开发的数据绑定概念有点难以理解。

【问题讨论】:

【参考方案1】:

你想要

editBox.DataBindings.Add("Text", car, "Name");

第一个参数是控件上要绑定数据的属性名称,第二个参数是数据源,第三个参数是数据源上要绑定的属性。

【讨论】:

【参考方案2】:

不看语法,我很确定它是:

editBox.DataBinding.Add("Text", car, "Name");

【讨论】:

【参考方案3】:
editBox.DataBinding.Add("Text", car, "Name");

第一个参数是控件属性的名称,第二个是要绑定的对象,最后一个是要用作数据源的对象属性的名称。

【讨论】:

【参考方案4】:

你已经很接近数据绑定线了

editBox.DataBinding.Add("Text", car, "Name");

第一个参数是要绑定数据的编辑框对象的属性。第二个参数是要绑定的数据源,最后一个参数是要绑定的数据源的属性。

请记住,数据绑定是一种方式,因此如果您更改编辑框,则汽车对象会更新,但如果您直接更改汽车名称,则不会更新编辑框。

【讨论】:

【参考方案5】:

试试:

editBox.DataBinding.Add( "Text", car", "Name" );

【讨论】:

【参考方案6】:

我相信

editBox.DataBindings.Add(new Binding("Text", car, "Name"));

应该可以解决问题。没试过,但我认为是这样的。

【讨论】:

【参考方案7】:

您正在尝试绑定到 TextEdit 控件的“名称”。该名称用于以编程方式访问控件,不能绑定。您应该对控件的文本进行绑定。

【讨论】:

【参考方案8】:

使用 C# 4.6 语法:

editBox.DataBinding.Add(nameof(editBox.Text), car, nameof(car.Name));

如果 car 为 null,那么上面的代码将比使用文字字符串表示 cardatamember 更明显的方式失败

【讨论】:

【参考方案9】:

以下是可以用作属性的泛型类,它实现了绑定控件用来捕获属性值变化的 INotifyPropertyChanged。

public class NotifyValue<datatype> : INotifyPropertyChanged 

    public event PropertyChangedEventHandler PropertyChanged = delegate  ;

    datatype _value;
    public datatype Value
    
        get
        
            return _value;
        
        set
        
            _value = value;
            PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Value"));
        
    


可以这样声明:

public NotifyValue<int> myInteger = new NotifyValue<int>();

并分配给这样的文本框

Textbox1.DataBindings.Add(
    "Text", 
    this, 
    "myInteger.Value", 
    false, 
    DataSourceUpdateMode.OnPropertyChanged
);

..其中“Text”是文本框的属性,“this”是当前的 Form 实例。

类不必继承 INotifyPropertyChanged 类。声明 System.ComponentModel.PropertyChangedEventHandler 类型的事件后,控件数据绑定器将订阅类更改事件

【讨论】:

【参考方案10】:

这是

 this.editBox.DataBindings.Add(new Binding("Text", car, "Name"));

【讨论】:

如何使用 C# 在 WinForm 中手动绑定到蓝牙低功耗设备?

】如何使用C#在WinForm中手动绑定到蓝牙低功耗设备?【英文标题】:HowtoBindmanuallytoaBlueToothLowEnergyDeviceinaWinFormusingC#?【发布时间】:2017-01-0123:54:47【问题描述】:这个问题的回答者大多是:WindowsUWPconnecttoBLEdeviceafterdiscovery目前,... 查看详情

mfc程序的datagridview控件如何绑定mysql数据库中的数据进行显示啊?语言是c++。

关于这个问题查了很多资料,C#的datagridview控件就可以直接绑定数据库,而C++的不支持直接绑定数据库,可是绑定语句找了很久也找不到,网上的各种方法也试了很多,都不能成功,为什么不适用C#,是因为整个程序的主体部分... 查看详情

c#中datagridview控件如何进行删除修改添加数据并保存到数据库中

...件,在点击按钮时触发更新数据库操作追问具体的代码是如何的呢?追答比如有四个textbox,你加一个button,click事件中写数据库插入语句,插入到数据库中,然后bound一下gridview刷新下,就可以显示出来。或者你使用微软自带的... 查看详情

与复杂/嵌套对象的数据绑定 (C#)

...此主题的通用信息,因此我在发布此内容时会尽可能多地进行解释,并希望与SO社区分享我的发现。在C#中,数据绑定到复杂对象的集合通常不允许从类中的嵌套对象中读取数据。这方面的一个例子是classA实例的成员是classB的对... 查看详情

在 C# 中使用 ADSI 进行 LDAP 绑定错误代码

】在C#中使用ADSI进行LDAP绑定错误代码【英文标题】:LDAPbinderrorcodesusingADSIinC#【发布时间】:2010-05-0515:28:41【问题描述】:我正在使用ADSI提供程序从C#客户端绑定到ADAM实例。当绑定失败时,我会返回一个表明失败的通用错误条件... 查看详情

如何在c#中将数据表绑定到datagridview

】如何在c#中将数据表绑定到datagridview【英文标题】:howtobinddatatabletodatagridviewinc#【发布时间】:2013-10-0111:09:49【问题描述】:我需要将我的DataTable绑定到我的DataGridView。我这样做:DTable=newDataTable();SBind=newBindingSource();//ServersTable... 查看详情

如何从没有绑定源 C# 生成的 datagridview 中检索数据源?

】如何从没有绑定源C#生成的datagridview中检索数据源?【英文标题】:HowtoretrievethedatasourcefromadatagridviewgeneratedwithoutabindingsourceC#?【发布时间】:2021-12-3005:31:10【问题描述】:我的代码中有一个datagridview。我已经通过我的程序结果... 查看详情

如何在 laravel 刀片模板中使用 JSON 数据进行模型绑定?

】如何在laravel刀片模板中使用JSON数据进行模型绑定?【英文标题】:HowtodoModelbindingusingJSONdatainlaravelbladetemplate?【发布时间】:2015-03-1918:46:02【问题描述】:我正在尝试在Laravel中查看特定用户的信息。从下拉菜单中选择用户。... 查看详情

如何在数据库绑定的应用程序之间进行有效的通信?

】如何在数据库绑定的应用程序之间进行有效的通信?【英文标题】:Howtoeffectivelycommunicatebetweendatabaseboundapplications?【发布时间】:2012-06-1418:07:46【问题描述】:我们有许多不同的老式客户端-服务器C#WinForm客户端应用程序,它... 查看详情

c#中如何把实体类绑定到datagridview并显示出来。

...idview控件,我把这个实体类绑定到了它的数据源。不知道如何像dateset一样,把表中的数据显示出来。谢谢了将你的实体对象一个一个的加载进ArrayList对象中,在将ArrayList作为数据源绑定到datagridview空间里就行了.注意:实体类必须... 查看详情

C# 数据绑定 ComboBox 在其他控件中更改数据

】C#数据绑定ComboBox在其他控件中更改数据【英文标题】:C#databoundComboBoxchangingdatainothercontrols【发布时间】:2014-12-2013:15:37【问题描述】:我有一个非常复杂的问题,所以我会尽力解释:我有一个C#WindowsForms(.NET4)程序。我的Windows... 查看详情

如何在 C# 中调用 Web 服务

】如何在C#中调用Web服务【英文标题】:HowtocallwebServicesinC#【发布时间】:2021-01-0600:29:36【问题描述】:我正在调用Web服务并返回列表,但我不能这样做。我想将下拉列表与Web服务绑定。我添加了INITIATORS_LIST类,其中包含我想在... 查看详情

如何在 C# 中进行参数化的 SELECT 查询?

】如何在C#中进行参数化的SELECT查询?【英文标题】:HowtomakeaparameterizedSELECTqueryinC#?【发布时间】:2019-09-2212:11:08【问题描述】:我正在尝试使用DataGridView和C#和SQLServer中的参数化查询来显示数据库表中的数据。到目前为止,我... 查看详情

如何在 C# 中按 ID 对 JSON 数据进行分组

】如何在C#中按ID对JSON数据进行分组【英文标题】:HowtogroupJSONdatabyIDinC#【发布时间】:2021-11-1708:40:51【问题描述】:将数据表中的数据序列化后获取这种格式的JSON这是读取excel文件并将数据存储在数据表中后的结果。后来使用ne... 查看详情

如何在 C# 中使用强制结构和无行为对相关不变数据进行分组

】如何在C#中使用强制结构和无行为对相关不变数据进行分组【英文标题】:HowtoGroupRelatedUnchangingDatawithEnforcedStructureandNoBehaviorinC#【发布时间】:2021-12-2820:09:41【问题描述】:我正在用C#构建一个winforms应用程序,该应用程序与产... 查看详情

如何在从数据库中选择时使用选择值进行 c# 插入

】如何在从数据库中选择时使用选择值进行c#插入【英文标题】:howtodoac#insertwithaselectvaluesinaselectfromdatabase【发布时间】:2021-12-0205:29:13【问题描述】:我正在尝试让我的选择值进入我的插入但我不知道如何制作这个循环。目前... 查看详情

如何在 Blazor 项目中使用 C# 绑定制作 HTML 文本多行?

】如何在Blazor项目中使用C#绑定制作HTML文本多行?【英文标题】:HowtomakeaHTMLtextmultilineusingaC#bindinablazorproject?【发布时间】:2020-02-1721:39:52【问题描述】:我有一个带有客户端Razor页面的Blazor项目。在该页面上,我想显示多行文... 查看详情

从 C# 针对 ADAM 对 ADAM 用户进行身份验证 - 无法绑定

】从C#针对ADAM对ADAM用户进行身份验证-无法绑定【英文标题】:AuthenticatinganADAMuseragainstADAMfromC#-cannotbind【发布时间】:2009-05-1415:24:50【问题描述】:我已经设置了一个ADAM实例并添加了一些测试用户。在c#中,我可以使用Windows帐... 查看详情