예제 #1
0
        object[] selectValues(object[] pKeys)
        {
            if (pKeys == null)
            {
                pKeys = new object[0];
            }

            List <object> list = new List <object>();

            foreach (object[] arr in data)
            {
                if (pKeys.Length < arr.Length)
                {
                    bool select_ = ToolArray.isEqual(pKeys, ToolArray.resize <object>(arr, pKeys.Length));
                    if (select_)
                    {
                        if (pKeys.Length < arr.Length)
                        {
                            object val_ = arr[pKeys.Length];

                            if (!list.Contains(val_))
                            {
                                list.Add(val_);
                            }
                        }
                    }
                }
            }

            return(list.ToArray());
        }
예제 #2
0
        public static object[][] getGroups(DataTable table, string[] colsArr)
        {
            List <object[]> list = new List <object[]>();

            DataColumn[] colsObj = new DataColumn[colsArr.Length];
            for (int i = 0; i < colsArr.Length; ++i)
            {
                colsObj[i] = table.Columns[colsArr[i]];
            }

            foreach (DataRow row in table.Rows)
            {
                object[] curValues = ToolRow.copyRowToArr(colsObj, row);

                foreach (object[] arr in list)
                {
                    if (ToolArray.isEqual(arr, curValues))
                    {
                        curValues = null;
                        break;
                    }
                }

                if (curValues != null)
                {
                    list.Add(curValues);
                }
            }



            list.Sort(new ToolArray.Comparer());

            return(list.ToArray());
        }