0

如何将gridcontrol记录作为数组获取?

我将一个数组设置为 a datasourcefor a gridcontrol (devExpress component)

PersonFamily4grid[] tmpPersonFamily = new PersonFamily4grid[PersonFamiliesCOUNT];
for (int i = 0; i < PersonFamiliesCOUNT; i++)
{
    tmpPersonFamily[i] = new PersonFamily4grid();
    tmpPersonFamily[i].BirthDate = PersonFamilies[i].BirthDate;
    tmpPersonFamily[i].Job = PersonFamilies[i].Job;
    tmpPersonFamily[i].CodeMelli = PersonFamilies[i].CodeMelli;
    tmpPersonFamily[i].NameFamily = PersonFamilies[i].NameFamily;
    tmpPersonFamily[i].Nesbat = FamilyInfo_cbe_Nesbat.Properties.Items[PersonFamilies[i].Nesbat].ToString();
    tmpPersonFamily[i].Taahol = FamilyInfo_cbe_Taahol.Properties.Items[Convert.ToInt32(PersonFamilies[i].Taahol)].ToString();
}
grid_Family.DataSource = tmpPersonFamily;

现在,当用户更改数据时gridcontrol,我想从网格中获取更改并影响我的基本数组。

4

2 回答 2

0

尝试:

PersonFamily4grid[] personFamily = (PersonFamily4grid[])grid_Family.DataSource;
于 2012-06-11T19:05:34.510 回答
0

当用户更改网格控件中的数据时,我想从网格中获取更改并影响我的基本数组。

如果要反映对主数组的更改,为什么要创建临时数组PersonFamilies。只需简单地分配PersonFamilies给 gridControl 的数据源,它就会自动反映对PersonFamilies.

如果您知道该类对象是引用类型,那么如果您将数组直接分配给 gridControls 数据源,它们的引用将不会改变:

grid_Family.DataSource = PersonFamilies;

在网格视图中对数据进行一些更改后,检查PersonFamilies它们是否更新的数组对象。它肯定会更新对象数组。

如果您想处理包含在您的数组中的一些自定义数据,那么您可以在不通过 GridControl 的属性的情况下获取PersonFamiliesIterate 您的临时数组,这完全取决于您将如何操作或反映对主数组的更改。tmpPersonFamilyDataSourcePersonFamilies

例如

for (int i = 0; i < PersonFamiliesCOUNT; i++)
{                
    PersonFamilies[i].BirthDate = tmpPersonFamily[i].BirthDate;
    PersonFamilies[i].Job = tmpPersonFamily[i].Job;
    PersonFamilies[i].CodeMelli = tmpPersonFamily[i].CodeMelli;
    PersonFamilies[i].NameFamily = tmpPersonFamily[i].NameFamily;  
}

希望这有帮助..

于 2012-06-12T10:10:57.590 回答