我知道这是一个老问题...我有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并再次返回列表的旧hack,但它会弄乱我的datagridview列的顺序。
我还尝试过Refresh和EndEdit但没有成功。