我使用DataGridView
填充OleDbDataAdapter
。但是,我意识到当我尝试在DataGridView
上设置当前选定的行(单元格)时,会发生隐藏的异常。我删除了try-catch
块,以便抛出异常。它很可能是NullReferenceException
。但是一旦程序通过这一行,我的方法中的其余行将被忽略,我的表单会显示一些奇怪的行为。例如,表单上的关闭框突然消失。
当我加载记录并尝试填充DataGridView
时,这是剪切的代码:
dgvCampaigns.DataSource = dsCampaigns;
dgvCampaigns.DataMember = "Campaigns";
dgvCampaigns.Columns["Id"].Visible = false;
dgvCampaigns.Columns["RowNum"].Visible = false;
if (dsCampaigns.Tables["Campaigns"].Rows != null)
if (dsCampaigns.Tables["Campaigns"].Rows.Count > 0)
{
mngSelectedIndex = 0;
dgvCampaigns.CurrentCell = dgvCampaigns[0, 0];
}
if (dgvCampaigns.CurrentCell != null)
pnlManageCampaignActivities.Enabled = true;
lblCurrentPage.Text = mngCurrentPage.ToString();
lblTotalPages.Text = mngPagesCount.ToString();
lblCampaignCount.Text = mngCampaignCount.ToString();
lblLastRefreshedValue.Text = DateTime.Now.ToString();
UpdatePaginationLinkValues();
导致此问题的行是
dgvCampaigns.CurrentCell = dgvCampaigns[0, 0];
在此行之后,其余行将被忽略,并且不会抛出Exception
。