C# 向组合框控件文本值发布过帐变量

C# 向组合框控件文本值发布过帐变量,c#,winforms,datagrid,C#,Winforms,Datagrid,我在winforms应用程序上有一个datagrid,当用户双击datagrid上的单元格时,将调用以下方法 private void dataCaseDiary_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { try { int cellRow = e.RowIndex; int cellCol = e.ColumnIndex;

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

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变量都从datagrid中获取正确的值,其中两个变量传递到表单上控件的文本值,但第三个变量失败


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

问题在于
表。行[cellRow][“日记类型”]
不存在,返回null。我猜“日记类型”不是正确的列名。

您确定有“日记类型”的列名吗?也许你需要“日记类型”?我也这么认为,但他说“三个变量都从数据网格中获取了正确的值”OP:你检查过它们是否确实被填充了吗?你是否试图将CBOAMENDIARYTYPE设置为一个不在其项目列表中的值?@Anon我发现了,但你知道神奇字符串-总是可能键入错误。:@PJW你能添加代码如何填充数据网格吗,如果它是从DB获取的,请使用添加查询?不能是因为“var currentType”有一个价值,当我通过一步。