public override void Run(bool runChildren) { currentDataRow = new DataRowObject(); SetText(GetText()); base.Run(runChildren); if (MustAttributes.IsNullOrEmpty() == false) { var must = MustAttributes.Split(','); if (currentDataRow.Attributes.Intersect(must).Count() == must.Count()) { Data.AddDataRow(this, currentDataRow); } } else { Data.AddDataRow(this, currentDataRow); } if (currentDataRow.IsDataNull()) { if (EmptyTree != null) { EmptyTree.SetParent(this); EmptyTree.Run(); } } }
public override void Run(bool runChildren) { SetText(GetText()); base.Run(runChildren); DataRowObject row; do { if (list.TryDequeue(out row)) { Data.AddDataRow(this, row); } else { break; } } while (row != null); }