在DataGridView上设置选定的单元格会导致隐藏的异常

时间:2014-11-03 14:59:29

标签: c# .net winforms datagridview nullreferenceexception

我使用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

0 个答案:

没有答案