/// <include file='doc\DataExpression.uex' path='docs/doc[@for="DataExpression.Bind"]/*' /> public virtual void Bind(DataTable table) { #if DEBUG if (CompModSwitches.DataExpression.TraceVerbose) { Debug.WriteLine("Bind current expression in the table " + (table != null ? table.TableName : "null")); } #endif this.table = table; if (table == null) { return; } if (expr != null) { Debug.Assert(parsed, "Invalid calling order: Bind() before Parse()"); ArrayList list = new ArrayList(); expr.Bind(table, list); expr = expr.Optimize(); this.table = table; optimizedExpression = null; Debug.Assert(list != null, "Invlid dependency list"); bound = true; dependency = new DataColumn[list.Count]; list.CopyTo(dependency, 0); #if DEBUG if (dependency == null) { if (CompModSwitches.DataExpression.TraceVerbose) { Debug.WriteLine("no dependencies"); } } else { if (CompModSwitches.DataExpression.TraceVerbose) { Debug.WriteLine("have dependencies: " + dependency.Length.ToString()); } for (int i = 0; i < dependency.Length; i++) { //UNDONE : Debug.WriteLineIf("DataExpression", dependency[i].ColumnName); } } #endif } }
internal void Bind(DataTable table) { _table = table; if (table == null) { return; } if (_expr != null) { Debug.Assert(_parsed, "Invalid calling order: Bind() before Parse()"); List <DataColumn> list = new List <DataColumn>(); _expr.Bind(table, list); _expr = _expr.Optimize(); _table = table; _bound = true; _dependency = list.ToArray(); } }
internal override void Bind(DataTable table, List <DataColumn> list) { BindTable(table); _right.Bind(table, list); }
internal override void Bind(DataTable table, ArrayList list) { right.Bind(table, list); }
internal override void Bind(DataTable table, ArrayList list) { left.Bind(table, list); right.Bind(table, list); this.table = table; }