public _ReportEntity(object DataSource) { IAutoUpdateList aul = DataSource as IAutoUpdateList; if (aul != null) { tdSource = aul.Td; _DataSource = aul.GetList(); } else { IList ds = DataSource as IList; if (ds != null) { tdSource = MetaData.GetTableDef(DataSource.GetType().GetGenericArguments()[0]); } else { ds = new BindingList <object>(); ds.Add(DataSource); tdSource = MetaData.GetTableDef(DataSource.GetType()); } _DataSource = ds; } }
void Le_ButtonClick(object sender, ButtonPressedEventArgs e) { if (e.Button.Kind == ButtonPredefines.Redo) { string DataMember = ((BindingSource)((LookUpEdit)sender). Properties.DataSource).DataMember; object px = ((BindingSource)((LookUpEdit)sender). Properties.DataSource).DataSource; if (DataMember.Length > 0) { PropertyInfo pi = px.GetType().GetProperty(DataMember, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (pi != null) { IAutoUpdateList lst = (IAutoUpdateList)pi.GetValue(px, null); lst.Refresh(); } else { FieldInfo fi = px.GetType().GetField(DataMember, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); if (fi != null) { IAutoUpdateList lst = (IAutoUpdateList)fi.GetValue(px); lst.Refresh(); } } } else { IAutoUpdateList lst = px as IAutoUpdateList; if (lst != null) { lst.Refresh(); } } } }