我想从gridView中的选定行的单元格中获取数据,并将其带入另一种形式,然后在textEdit中编辑所选单元格的行,问题在于使用时
var cacca = this.gridView.getFocusedRow() as PartnersMissing;
MessageBox.show(cacca.toString())
messageBox写Test01.parnersMissing
,其中Test01是项目的名称,我真的不知道为什么PartnersMissing
存在。这段代码有什么问题?
datagrid包含来自sql数据库的数据,它是使用DevExpress制作的。
如果你知道意大利语,请不要介意变量的名称,我很着急:D
答案 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对象属性。