Rob*_*ert 4 c# data-binding datagridview winforms
我想知道我需要做什么才能使 DataGridView 按预期运行:
\n\n我确实有一个List<ioChannel>(名为myList)这种类型的对象:
public class ioChannel\n{\n public string Name { get; set; }\n public int Id { get; set; }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试将 DataGridView 绑定到此列表:
\n\nbs = new BindingSource { DataSource = myList };\ndgvChannels.DataSource = bs;\nRun Code Online (Sandbox Code Playgroud)\n\n现在我创建了一个将元素添加到myList 的按钮:
\n\nprivate void btAddChannel_Click(object sender, EventArgs e)\n{\n myList.Add(new ioChannel() { Id = myList.Count, Name = "My Channel" });\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我按下按钮时,我的列表会填充新的ioChannel\ ,但dgvChannels不会添加任何行。我需要做什么才能实现这一点?
顺便说一句:在将 BindingSource 指定为数据源之前myList填充一些ioChannel\xc2\xb4s 时,会在网格中正确显示。
正如 @Loathing 评论的那样,BindingList也对我有用。它将如何运作:
BindingList<ioChannel> myList = new BindingList<ioChannel>();
dgvChannels.DataSource = myList;
Run Code Online (Sandbox Code Playgroud)
BindingList 有通知列表中更改的事件。为了让 datagridview 能够通知自己重绘,请检查这个。有关详细信息,请访问msdn。
| 归档时间: |
|
| 查看次数: |
2579 次 |
| 最近记录: |