public override void Copy(DrawingItem obj) { base.Copy(obj); DrawDataRepeater ddp = obj as DrawDataRepeater; this.Columns = ddp.Columns; this.Rows = ddp.Rows; _gapx = ddp._gapx; _gapy = ddp._gapy; }
public DrawRepeaterItem(DrawDataRepeater owner, int col, int row) { this.Page = owner.Page; _owner = owner; _colIdx = col; _rowIdx = row; this.Location = new Point(owner.Location.X + col * (owner.Width + owner.GapX), owner.Location.Y + row * (owner.Height + owner.GapY)); this.Width = owner.Width; this.Height = owner.Height; this.BackgroundImage = owner.BackgroundImage; if (!string.IsNullOrEmpty(owner.BackImageFilename)) { this.BackImageFilename = owner.BackImageFilename; } this.BackImageSizeMode = owner.BackImageSizeMode; List <DrawingItem> lst = new List <DrawingItem>(); if (owner.Items != null) { createDataTable(); foreach (DrawingItem di in owner.Items) { DrawingItem d2 = di.Clone(); EventInfo[] eifs = di.GetType().GetEvents(); if (eifs != null && eifs.Length > 0) { for (int i = 0; i < eifs.Length; i++) { Delegate h = owner.GetHandler(di.Name, eifs[i].Name); if (h != null) { eifs[i].AddEventHandler(d2, h); } } } lst.Add(d2); setupDataBind(d2, di); } } this.SetItems(lst); }