Esempio n. 1
0
        public override void onSelect(Boolean isMutil)
        {
            AreasCollection areas  = this.table.Range.Worksheet.Selection.Areas;
            Range           srange = null;

            if (isMutil == true)
            {
                srange = areas[areas.Count - 1];
            }
            else
            {
                srange = areas[areas.Count - 1][0];
            }

            for (int row = 0; row < srange.RowCount; row++)
            {
                int rn = getRowIndexByRange(srange[row, 0]);
                if (rn >= 0)
                {
                    selectRow(rn, isMutil?1:0);
                }
            }

            drawSelectedRows();//在鼠标松开后,同一绘制选择
        }
Esempio n. 2
0
        //根据当前选择点,判断选择区域
        public void setSelectedNamed()
        {
            if (app == null)
            {
                app       = new XApp(this.spreadsheetMain.Document, null);
                app.statu = SysStatu.SheetError;
            }
            AreasCollection areas = spreadsheetMain.Selection.Areas;

            /*if (currentXRange != null && RangeUtil.isInRange(areas, currentXRange.getRange()) < 0)
             * {
             *  this.currentXRange = null;
             * }*/
            this.currentXRange = null;
            rightClickBarManager.SetPopupContextMenu(spreadsheetMain, null);
            if (currentSheet != null && currentSheet.sheetName == "Config")
            {
                IList <Table> tables = spreadsheetMain.ActiveWorksheet.Tables.GetTables(spreadsheetMain.ActiveCell);
                if (tables.Count > 0 && tables[0].Name == "CFG_DATA")
                {
                    if (RangeUtil.isInRange(areas, tables[0].DataRange) >= 0)
                    {
                        rightClickBarManager.SetPopupContextMenu(spreadsheetMain, menus["CfgData"]);
                    }
                }
            }
            else if ((int)app.statu > 0)
            {
                XRSheet opSheet = app.getRSheetByName(spreadsheetMain.ActiveWorksheet.Name);
                //遍历当前Sheet全部命名区域,依次判断是否在区域范围内
                if (opSheet != null)
                {
                    foreach (var dicname in opSheet.ranges)
                    {
                        XRange xname = dicname.Value;
                        int    i     = xname.isInRange(areas);
                        if (i >= 0)
                        {
                            this.currentXRange = xname;
                            rightClickBarManager.SetPopupContextMenu(spreadsheetMain, menus["Normal"]);
                            //当选择点为命名区域时,将当前坐标写入单元格
                            //this.currentXRange.onMouseDown();
                            break;//如果判断到第一个区域,将该区域存储为currentXRange,退出循环判断
                        }
                    }
                }
                else
                {
                    currentXRange = null;
                }
            }
        }
Esempio n. 3
0
        public override int isInRange(Range range)
        {
            AreasCollection areas = getRange().Areas;

            foreach (Range irange in areas)
            {
                if (RangeUtil.isInRange(range, irange) > 0)
                {
                    return(1);
                }
            }
            return(-1);
        }
Esempio n. 4
0
        //判断是否在所选area是否在range内,0表示正常 <0异常
        public static int isInRange(AreasCollection areas, Range range)
        {
            int i = 0;

            foreach (Range tmprange in areas)
            {
                i = isInRange(tmprange, range);
                if (i < 0)
                {
                    break;
                }
            }
            return(i);
        }
Esempio n. 5
0
        public override void onUpdateSelect()
        {
            AreasCollection areas  = this.table.Range.Worksheet.Selection.Areas;
            Range           srange = null;

            srange = areas[areas.Count - 1][0];
            for (int row = 0; row < srange.RowCount; row++)
            {
                int rn = getRowIndexByRange(srange[row, 0]);
                if (rn >= 0)
                {
                    selectRow(rn, 2);
                }
            }
        }
 private void Clean() {
     this.Sysid = null;
     this.Publicid = null;
     this.Path = string.Empty;
     this.Createdate = null;
     this.Lastmodifieddate = null;
     this.Active = null;
     this._areasCollection = null;
 }
 public static AreasCollection GetAll() {
     resourceSchema.Dal.Areas dbo = null;
     try {
         dbo = new resourceSchema.Dal.Areas();
         System.Data.DataSet ds = dbo.Areas_Select_All();
         AreasCollection collection = new AreasCollection();
         if (GlobalTools.IsSafeDataSet(ds)) {
             for (int i = 0; (i < ds.Tables[0].Rows.Count); i = (i + 1)) {
                 Areas obj = new Areas();
                 obj.Fill(ds.Tables[0].Rows[i]);
                 if ((obj != null)) {
                     collection.Add(obj);
                 }
             }
         }
         return collection;
     }
     catch (System.Exception ) {
         throw;
     }
     finally {
         if ((dbo != null)) {
             dbo.Dispose();
         }
     }
 }