2012-06-11 6 views
0

Как я могу получить gridcontrol записей в виде массива?Получить записи gridcontrol как массив

Я установил массив как datasource для 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, я хочу, чтобы получить изменения от сетки и влияют на мой базовый массив.

ответ

0

Когда данные изменения пользователя в GridControl я хочу получить изменения из сетки и влияют на мой базовый массив.

Почему вы создаете временный массив, если хотите отразить изменения в основном массиве PersonFamilies. просто назначьте PersonFamilies источнику данных gridControl и он автоматически отразит изменения до PersonFamilies.

Если вы знаете, что объект класса является ссылочным типом, поэтому их ссылка не изменится, если вы назначаете массив непосредственно к источнику gridControls данных, как:

grid_Family.DataSource = PersonFamilies; 

После внесения некоторых изменений в свои данные в виде сетки , проверьте объект размером PersonFamilies, который они обновили или нет. Он обязательно обновит массив объектов.

Если вы хотите работать на некоторых индивидуальных данных, который содержал в вашем PersonFamilies массиве, то вы можете получить итерацию временный массив tmpPersonFamily, не получая его через DataSource собственность GridControl и все это зависит от вас, как вы будете манипулировать или отражать изменения в вашем основном массиве 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; 
} 

Надеется, что это поможет ..