C# WinForm控件绑定到列表<;T>;问题
我有一个用于存储数据的列表,我尝试将其项绑定到网格、列表框、文本框等,但无法使其正常工作。这是我的密码C# WinForm控件绑定到列表<;T>;问题,c#,winforms,data-binding,C#,Winforms,Data Binding,我有一个用于存储数据的列表,我尝试将其项绑定到网格、列表框、文本框等,但无法使其正常工作。这是我的密码 class Survey { public int Id { get; set; } public string Desc{ get; set; } public List<string> Choices { get; set; } } 注意:我无法添加到ListBox.Items,因为我绑定到此控件的数据源,所以它会出现异常 列表框不显示新项目,如果我从dat
class Survey
{
public int Id { get; set; }
public string Desc{ get; set; }
public List<string> Choices { get; set; }
}
注意:我无法添加到ListBox.Items,因为我绑定到此控件的数据源,所以它会出现异常
列表框不显示新项目,如果我从dataGrid中选择其他项目并返回,我可以看到新添加的选项
这里有什么问题?另外,代码还可以,这是我第一次使用这个绑定工具。当元素发生更改时,您的数据源不会引发事件。一个简单的解决方法是将数据源从列表更改为BindingList。谢谢您的回答,我尝试了,但没有任何更改。您是否将更改保存回列表?如果有保存方法,没有,我没有,我只查看我的BindingList项,它们具有新的附加值,但不会像DataGridView一样立即显示在列表框中。。。
List<Survey> _surveyList = GetList();
BindingSource _bindingSourceSurveys = new BindingSource { DataSource=_surveyList};
dataGridView1.DataSource = _bindingSourceSurveys;
txtDesc.DataBindings.Add("Text", _bindingSourceSurveys, "Desc",false,DataSourceUpdateMode.OnPropertyChanged,string.Empty);
lstChoices.DataBindings.Add("DataSource" , _bindingSourceSurveys,"Choices" ,false,DataSourceUpdateMode.OnPropertyChanged, string.Empty);
(_bindingSourceSurveys.Current as Survey).Choices.Add("NewChoice");