以数组形式获取网格控制记录

本文关键字:网格 控制 记录 获取 数组 | 更新日期: 2023-09-27 18:36:44

如何以数组形式获取gridcontrol记录?

我将数组设置为gridcontrol (devExpress component)datasource

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中更改数据时,我想从网格中获取更改并影响我的基础数组。

以数组形式获取网格控制记录

当用户在网格控制中更改数据时,我希望从网格和 影响我的基本阵列。

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

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

grid_Family.DataSource = PersonFamilies;

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

如果要处理包含在PersonFamilies数组中的一些自定义数据,则可以获取迭代临时数组tmpPersonFamily,而无需通过 GridControl 的 DataSource 属性获取它,这完全取决于您将如何操作或反映对主数组PersonFamilies的更改。

例如

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;  
}

希望这个帮助..

尝试:

PersonFamily4grid[] personFamily = (PersonFamily4grid[])grid_Family.DataSource;