如何将gridcontrol
记录作为数组?
我将数组设置为datasource
的{{1}}。
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;
中的数据时,我希望从网格中获取更改并影响我的基本数组。
答案 0 :(得分:0)
尝试:
PersonFamily4grid[] personFamily = (PersonFamily4grid[])grid_Family.DataSource;
答案 1 :(得分:0)
当用户在gridcontrol中更改数据时,我希望从网格中获取更改 影响我的基础阵列。
如果要反映对主数组PersonFamilies
的更改,为什么要创建临时数组?只需将PersonFamilies
分配给gridControl的数据源,它就会自动反映对PersonFamilies
的更改。
如果您知道类对象是引用类型,那么如果您将数组直接分配给gridControls数据源,它们的引用将不会更改:
grid_Family.DataSource = PersonFamilies;
在网格视图中对数据进行一些更改后,检查PersonFamilies
数组的对象是否已更新。它肯定会更新对象数组。
如果您想处理PersonFamilies
数组中包含的某些自定义数据,那么您可以获取迭代临时数组tmpPersonFamily
,而无需通过GridControl的DataSource
属性进行迭代这一切都取决于您如何操纵或反映对主阵列PersonFamilies
的更改。
e.g。
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;
}
希望这有帮助..