/// <summary> /// Extrai os valores da linha da instancia. /// </summary> /// <param name="fieldValues"></param> /// <param name="includeKeys"></param> protected virtual void ExtractRowValues(IOrderedDictionary fieldValues, bool includeKeys) { if (fieldValues != null) { DataBoundControlHelper.ExtractValuesFromBindableControls(fieldValues, this); IBindableTemplate itemTemplate = null; itemTemplate = this.ItemTemplate as IBindableTemplate; string[] dataKeyNamesInternal = this.DataKeyNamesInternal; if (itemTemplate != null) { if ((_dataItemContainer != null) && (itemTemplate != null)) { foreach (DictionaryEntry entry in itemTemplate.ExtractValues(_dataItemContainer)) { if (includeKeys || (Array.IndexOf(dataKeyNamesInternal, entry.Key) == -1)) { fieldValues[entry.Key] = entry.Value; } } } } } }