示例#1
0
        public override object Clone()
        {
            AutoFilterInfoRecord rec = new AutoFilterInfoRecord();

            rec.field_1_cEntries = field_1_cEntries;
            return(rec);
        }
        public void TestWrite()
        {
            AutoFilterInfoRecord record = new AutoFilterInfoRecord();
            record.NumEntries = (/*setter*/(short)3);

            byte[] ser = record.Serialize();
            Assert.AreEqual(ser.Length - 4, data.Length);
            record = new AutoFilterInfoRecord(TestcaseRecordInputStream.Create(ser));
            Assert.AreEqual(3, record.NumEntries);
        }
        public void TestRead()
        {

            AutoFilterInfoRecord record = new AutoFilterInfoRecord(TestcaseRecordInputStream.Create(AutoFilterInfoRecord.sid, data));

            Assert.AreEqual(AutoFilterInfoRecord.sid, record.Sid);
            Assert.AreEqual(data.Length, record.RecordSize - 4);
            Assert.AreEqual(5, record.NumEntries);
            record.NumEntries = (/*setter*/(short)3);
            Assert.AreEqual(3, record.NumEntries);
        }
        public void TestClone()
        {
            AutoFilterInfoRecord record = new AutoFilterInfoRecord();
            record.NumEntries = (/*setter*/(short)3);
            byte[] src = record.Serialize();

            AutoFilterInfoRecord Cloned = (AutoFilterInfoRecord)record.Clone();
            Assert.AreEqual(3, record.NumEntries);
            byte[] cln = Cloned.Serialize();

            Assert.AreEqual(record.RecordSize, Cloned.RecordSize);
            Assert.IsTrue(Arrays.Equals(src, cln));
        }
示例#5
0
 private void CreateAutoFilterInfoRecord(HSSFSheet sheet, int insertPos, Area3DPtg ptg)
 {
     //look for the AutoFilterInfo Record
     NPOI.HSSF.Record.Record record = sheet.Sheet.FindFirstRecordBySid(AutoFilterInfoRecord.sid);
     AutoFilterInfoRecord info;
     if (record == null)
     {
         info = new AutoFilterInfoRecord();
         sheet.Sheet.Records.Insert(insertPos, info);
     }
     else
     {
         info = record as AutoFilterInfoRecord;
     }
     info.NumEntries = (short)(ptg.LastColumn - ptg.FirstColumn + 1);
 }
示例#6
0
        /// <summary>
        /// Enable filtering for a range of cells
        /// </summary>
        /// <param name="range">the range of cells to filter</param>
        public IAutoFilter SetAutoFilter(CellRangeAddress range)
        {
            InternalWorkbook workbook = _workbook.Workbook;
            int sheetIndex = _workbook.GetSheetIndex(this);

            NameRecord name = workbook.GetSpecificBuiltinRecord(NameRecord.BUILTIN_FILTER_DB, sheetIndex + 1);

            if (name == null)
            {
                name = workbook.CreateBuiltInName(NameRecord.BUILTIN_FILTER_DB, sheetIndex + 1);
            }
            int firstRow = range.FirstRow;
            // if row was not given when constructing the range...
            if (firstRow == -1)
            {
                firstRow = 0;
            }
            // The built-in name must consist of a single Area3d Ptg.
            Area3DPtg ptg = new Area3DPtg(firstRow, range.LastRow,
                    range.FirstColumn, range.LastColumn,
                    false, false, false, false, sheetIndex);
            name.NameDefinition = (new Ptg[] { ptg });

            AutoFilterInfoRecord r = new AutoFilterInfoRecord();
            // the number of columns that have AutoFilter enabled.
            int numcols = 1 + range.LastColumn - range.FirstColumn;
            r.NumEntries = (short)numcols;
            int idx = _sheet.FindFirstRecordLocBySid(DimensionsRecord.sid);
            _sheet.Records.Insert(idx, r);

            //create a combobox control for each column
            HSSFPatriarch p = (HSSFPatriarch)CreateDrawingPatriarch();
            for (int col = range.FirstColumn; col <= range.LastColumn; col++)
            {
                p.CreateComboBox(new HSSFClientAnchor(0, 0, 0, 0,
                        (short)col, firstRow, (short)(col + 1), firstRow + 1));
            }

            return new HSSFAutoFilter(this);
        }
示例#7
0
 public override object Clone()
 {
     AutoFilterInfoRecord rec = new AutoFilterInfoRecord();
     rec.field_1_cEntries = field_1_cEntries;
     return rec;
 }