예제 #1
0
        public List <IUniversalRowDataContainer> readItems(IKeepable t, Lib.Filter filter)
        {
            //читает множество объектов Т из базы

            if (!myFile.isOpen)
            {
                return(null);
            }

            List <IUniversalRowDataContainer> rez = new List <IUniversalRowDataContainer>();

            Lib.UniversalDataKeeper d;
            object         tmp = null;
            ExcelDataTable dataTable;

            object[,] dataArr;
            long len;
            long i;

            dataTable = new ExcelDataTable(myFile.myWorkSheet, myFile.startAddress, myFile.endAddress);
            dataTable.dataRangeRowShift = myFile.dataRangeRowShift;

            dataTable.readTheTableFromExcelSheet();
            dataArr = dataTable.dataArray;
            len     = dataTable.dataRows.Count;

            for (i = 0; i < len; i++)
            {
                //перебираем по порядку поля, кот. надо присвоить
                d = new Lib.UniversalDataKeeper();               //это строка
                foreach (Lib.FieldInfo f in t.fieldsInfo.fields) // это метаполя, котоыре надо присвоить
                {
                    if (f.excelFileBoundColumnNumber > 0)        //это 1-based
                    {
                        tmp = dataArr[i, f.excelFileBoundColumnNumber - 1];
                        d.addNewElement(f.fieldDbName, tmp);
                    }
                }
                rez.Add(d);
            }
            return(rez);
        }
예제 #2
0
 public long rowNo; //номер строки таблицы, где находится запись
 public ExcelDataTableRow(ExcelDataTable _parent)
 {
     parent = _parent;
 }