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;
            }
        }
示例#2
0
 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();
             }
         }
     }
 }