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();//在鼠标松开后,同一绘制选择 }
//根据当前选择点,判断选择区域 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; } } }
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); }
//判断是否在所选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); }
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(); } } }