private DataSet GetDataSet() { string sqlColumn = string.Empty; string sqlUnionall = string.Empty; string sqlAllUnionall = string.Empty; if (Items[0] as Objects.BaseObject == null || ShowState == ColumnShowState.Name)//判断,如果第一个不是BaseObject的,则默认以后的也不是,这样,就只显示一列“名称”。 { sqlColumn = sqlColumnName; sqlUnionall = sqlUnionallName; for (int i = 0; i < Items.Count; i++) { sqlAllUnionall += string.Format(sqlUnionall, Items[i].ToString()); } sqlAllUnionall = sqlAllUnionall.Remove(sqlAllUnionall.LastIndexOf("union all")); string sql = string.Format(sqlBase, sqlColumn, sqlAllUnionall); DataSet ds = null; quickReportManager.ExecQuery(sql, ref ds); return(ds); } else { sqlColumn = sqlColumnBoth; sqlUnionall = sqlUnionallBoth; for (int i = 0; i < Items.Count; i++) { Objects.BaseObject obj = Items[i] as Objects.BaseObject; if (obj == null) { sqlAllUnionall += string.Format(sqlUnionall, string.Empty, Items[i].ToString()); } else { sqlAllUnionall += string.Format(sqlUnionall, obj.ID, obj.Name); } } sqlAllUnionall = sqlAllUnionall.Remove(sqlAllUnionall.LastIndexOf("union all")); string sql = string.Format(sqlBase, sqlColumn, sqlAllUnionall); DataSet ds = null; quickReportManager.ExecQuery(sql, ref ds); return(ds); } }
public void TryChangeState(State state, params object[] args) { switch (state) { case State.Focus: _targets = args[0] as List <Objects.BaseObject>; _state = state; break; case State.Follow: _target = args[0] as Objects.BaseObject; _state = state; break; case State.Idle: _state = state; break; } }