从gridView单元格C#获取值

时间:2017-03-21 09:08:00

标签: c# gridview devexpress

我想从gridView中的选定行的单元格中获取数据,并将其带入另一种形式,然后在textEdit中编辑所选单元格的行,问题在于使用时

var cacca = this.gridView.getFocusedRow() as PartnersMissing;
MessageBox.show(cacca.toString()) 

messageBox写Test01.parnersMissing,其中Test01是项目的名称,我真的不知道为什么PartnersMissing存在。这段代码有什么问题? datagrid包含来自sql数据库的数据,它是使用DevExpress制作的。 如果你知道意大利语,请不要介意变量的名称,我很着急:D

2 个答案:

答案 0 :(得分:1)

从代码中我可以看到,结果是预期的,因为cacca.toString()表达式为这些类型返回类型名称,这些类型不会覆盖标准{{3}方法。

要显示有用的内容,您应该覆盖此方法

class PartnersMissing { 
    public string Name { get; set; }
    public override string ToString(){
         return Name;
    }
}

或从对象的字段中获取特定值:

MessageBox.Show(cacca.Name);

您还可以直接从gridView获取对象的字段值:

string name = gridView.GetFocusedRowCellValue("Name");

答案 1 :(得分:1)

  

可以使用GridView获取当前行   GetFocusedRow方法。此方法返回实际的对象   类型根据数据来源确定。

如果您使用List<PartnersMissing>对象绑定它,那么您将从GetFocusedRow方法获得正确的值。如果要访问当前行对象的属性,则可以执行此操作。

例如:PartnersMissing拥有属性ABC,然后您可以访问如下:

var cacca = this.gridView.getFocusedRow() as PartnersMissing;
MessageBox.show(cacca.ABC) 

ToString()方法返回对象的类型而不是任何属性值。你只是打印对象的类型而不是访问对象的属性。

正如Dimitry所说,您还可以使用GetFocusedRowCellValue(String)方法访问特定列值或行'PartnersMissing对象属性。