Exemple #1
0
        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;
            }
        }