0

我在 winforms 应用程序上有一个数据网格,当用户双击数据网格上的单元格时,将调用以下方法。

private void dataCaseDiary_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            int cellRow = e.RowIndex;
            int cellCol = e.ColumnIndex;
            DataTable table = (DataTable)dataCaseDiary.DataSource;
            var currentDiaryID = table.Rows[cellRow]["DiaryID"];
            var currentUser = table.Rows[cellRow]["To Action"];
            var currentType = table.Rows[cellRow]["Diary Type"];
            txtDiaryID.Text = currentDiaryID.ToString();
            cboReassign.Text = currentUser.ToString();
            cboAmendDiaryType.Text = currentType.ToString();
        }
        catch (Exception eX)
        {
            MessageBox.Show(eX.Message);
        }
    }

但是,该行发生异常

cboAmendDiaryType.Text = currentType.ToString();

异常指出“对象引用未设置为对象的实例”。

我花了一些时间看这个,但找不到我做错了什么。三个 var 变量都从数据网格中获取正确的值,其中两个发布到表单上控件的文本值,但第三个失败。

我使用的前缀“txt”表示文本框控件,“cbo”表示组合框。

4

1 回答 1

0

问题是table.Rows[cellRow]["Diary Type"]不存在并返回null。我猜“日记类型”不是正确的列名。

于 2012-04-06T13:58:25.287 回答