获取以编程方式添加到DataGridView中以显示的行
本文关键字:显示 DataGridView 编程 方式 添加 获取 | 更新日期: 2023-09-27 18:04:52
我知道这是一个老问题…我有DataGridView直接绑定到自定义对象的通用列表。这是用户单击"添加新行"按钮时发生的事件:
private void btnAddStation_Click(object sender, EventArgs e)
{
if (dgvStationConfiguration.DataSource != null && ((List<StationConfiguration>)dgvStationConfiguration.DataSource).Count > 0)
{
var stations = (List<StationConfiguration>)dgvStationConfiguration.DataSource;
stations.Add(new StationConfiguration(string.Empty, string.Empty, string.Empty, stations.Last().FolderName));
IsGridDirty = true;
}
}
但是新行没有显示。在调试器中,我看到它已被添加到数据源中,但我不能强制显示它。
我已经尝试了将数据源设置为null并再次返回列表的旧方法,但它混淆了我的datagridview的列的顺序。
我也尝试过刷新和结束,没有成功。
List<T>
集合不支持IBindingList接口,因此为了让您的DataGridView控件被通知集合中的项已被删除或添加,请尝试使用BindingList<T>
集合代替。