【问题标题】:Object reference not set to an instance of an object error on c#对象引用未设置为 c# 上的对象错误的实例
【发布时间】:2013-11-29 09:47:34
【问题描述】:

我试图在 repositoryItemGridLookUpEdit1_EditValueChanged 事件中从 gridview 获取单元格值。但是只有在该行中出现“Object reference not set to an instance of an object”这样的错误才会显示为空值。

如何在 EditValueChanged 事件中从 gridview 中获取特定行的单元格值?

我的代码是这样的

 private void repositoryItemGridLookUpEdit1_EditValueChanged(object sender, EventArgs e)
    {
        GridLookUpEdit LookupEdit = sender as GridLookUpEdit;
        DataRowView SelectedDataRow = (DataRowView)LookupEdit.GetSelectedDataRow();



        gridView1.SetFocusedRowCellValue("Description", SelectedDataRow["ProductDescription"]);
        gridView1.SetFocusedRowCellValue("UoM", SelectedDataRow["UnitofMeasure"]);
        gridView1.SetFocusedRowCellValue("Quantity", SelectedDataRow["DefaultQuantity"]);
        gridView1.SetFocusedRowCellValue("Price", SelectedDataRow["MRPPrice"]);
        gridView1.SetFocusedRowCellValue("TaxInPercentage", SelectedDataRow["Taxid1"]);
        gridView1.SetFocusedRowCellValue("ProductKind", SelectedDataRow["ProductKind"]);

        getdisc = LookupEdit.EditValue.ToString(); // get display value & pass to comparision to find Discound

        object productkin = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["ProductDescrption"]);

        string productkind = productkin.ToString(); // Error Object reference not set to instance of object

        MessageBox.Show(productkind, "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

帮帮我?

【问题讨论】:

  • 你在哪一行得到了那个错误?也许列名中有错字(它们区分大小写)
  • @User2012384 - 确实如此。 ProductDescriptionProductDescrption(请注意第二个中缺少的 i)。
  • 如果(LookupEdit == null)返回;在“作为”之后
  • 嗨 User2012384 和 Corak,谢谢,现在我解决了。我得到了价值,但我想将访问数据库值存储到 Unbound Column n 获取该值。我隐藏了 Unbound Column 是否可以获得该值?

标签: c# winforms gridview devexpress


【解决方案1】:

正如 Corak 所注意到的:在获取行单元格值时,您遇到了拼写错误(缺少“i”):

object productkin = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["ProductDescrption"]);

由于“ProductDescrption”列不存在,因此变量 productkind 为空。将此行替换为以下内容:

object productkin = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["ProductDescription"]);

【讨论】:

  • 嗨,我解决了。是否可以将 SelectedDataRow["Value"] 设置为 Unbount Column 并且我需要获取该单元格值??
猜你喜欢
  • 1970-01-01
  • 2011-06-21
  • 2011-07-09
  • 2012-08-31
  • 2011-11-21
  • 2012-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多