【发布时间】:2016-06-22 03:03:57
【问题描述】:
我有一个带有数据表的datagridview 作为tabcontrol 内的数据源。我用 10 行数据加载数据表,然后设置数据源。每当我从 datagridview 或数据源数据表中删除一行时,datagridview 上的垂直滚动条就会丢失其设置。我已经从数据表中尝试过:
DataTable dataTableCopy = ((DataSet)dgvFeedItems.DataSource).Tables[0];
for (int i = 0; i < dataTableCopy.Rows.Count - 1; i++)
{
if (dataTableCopy.Rows[i][0].ToString() == FeedItemID.ToString())
{
dataTableCopy.Rows[i].Delete();
break;
}
}
dataTableCopy.AcceptChanges();
我已经直接从网格试过了:
foreach (DataGridViewRow dgvrFeedItem in dgvFeedItems.Rows)
{
if (dgvrFeedItem.Cells[1].Value.ToString().Equals(FeedItemID.ToString()))
{
dgvFeedItems.Rows.Remove(dgvrFeedItem);
break;
}
}
两种方法的结果都是一样的。
之前:
之后:
在这两种情况下,表格都有正确的行数,但垂直滚动条消失了。 TY 的任何建议和帮助。
【问题讨论】:
-
删除条目后,您还会看到网格向上滚动 - 现在第一个条目是“caribbean360”。看起来网格真的认为没有更多数据可以显示了。 “caribbean360”是第一个链接,还是“wusfnews”最后一个链接?
-
我删除了第九行。 “wusfnews”是第10行,是后图中新的第9行。但我仍然无法滚动回顶部。我已经删除了第一行、第二行和中间行,行为相同,删除后滚动条失败。
-
另外,数据表和gridview的行数在删除前10和删除后9都是正确的。
-
我跟进了“网格认为没有更多数据”。当数据丢失时,垂直滚动条完全消失。所以它仍然认为有足够的数据进行滚动,但条形图显示不正确。最后,我可以使用光标键在列表中上下滚动。
标签: c# winforms datagridview datatable