Ejemplo n.º 1
0
        public String getPrivilege(XRSheet sheet)
        {
            if (logAsDesigner)
            {
                return("CRUDP");
            }
            String    execute = String.Format("EXEC	XSHEET.[dbo].[sp_CheckRight] '{0}', '{1}', '{2}','{3}'", UserDomain, UserName, sheet.app.AppID, sheet.sheetName);
            DataTable dt      = DBUtil.getDataTable("MAIN", execute, "", null, null);

            return(dt.Rows[0][0].ToString());
        }
Ejemplo 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;
                }
            }
        }
Ejemplo n.º 3
0
 //将SHEET于RANGE 绑定
 private void LoadRangeToSheet()
 {
     if (statu > 0)
     {
         foreach (XRange xrange in ranges.Values)
         {
             String  sheetname = xrange.getRange().Worksheet.Name;
             XRSheet xrsheet   = getRSheetByName(sheetname);
             xrsheet.ranges.Add(xrange.Name, xrange);
             xrange.rsheet = xrsheet;
         }
     }
 }
Ejemplo n.º 4
0
 public void executeCmd(XRSheet rsheet, SysEvent e)
 {
     //TODO Sheet_Init 与Sheet_Change区分
     if (e == SysEvent.Sheet_Init || e == SysEvent.Sheet_Change)
     {
         if (rsheet.getInitFlag() == false)
         {
             rsheet.setInited();
         }
         foreach (XRange range in rsheet.ranges.Values)
         {
             executeCmd(range, e);
         }
     }
 }
Ejemplo n.º 5
0
        private void setSheet()
        {
            XRSheet rsheet = null;

            foreach (XAction action in actions.Values)
            {
                if (rsheet == null)
                {
                    rsheet = action.sRange.rsheet;
                }
                else if (rsheet != action.sRange.rsheet)
                {
                    MessageBox.Show(String.Format("Command {0} 中 Action {1} 与之前Action sRange不一致,请确认配置!", CommandName, action.ActionName));
                    return;
                }
            }
            this.rsheet = rsheet;
        }
Ejemplo n.º 6
0
        //根据名称获取SHEET
        public XRSheet getRSheetByName(String name)
        {
            XRSheet rsheet = null;

            try
            {
                rsheet = rsheets[name];
            }
            catch (Exception)
            {
                rsheet = new XRSheet(book.Worksheets.ActiveWorksheet);
                AlertUtil.Show("error", "Sheet:" + name + "未注册!请检查配置!");
                statu = SysStatu.Designer;
                if (rsheet.sheetName != name)
                {
                    return(null);
                }
                rsheets.Add(rsheet.sheet.Name, rsheet);
            }
            return(rsheet);
        }
Ejemplo n.º 7
0
        //Sheet的初始化
        private void initSheet()
        {
            this.rsheets = new Dictionary <string, XRSheet>();
            foreach (SheetCfg sheetdata in cfgdata.sheets)
            {
                Worksheet sheet = getSheetByName(sheetdata.SheetName);


                //xsheet.initTables();
                if (sheet == null)
                {//如果对应sheet为空,则进入设计模式
                    statu = SysStatu.Designer;
                    return;
                }
                XRSheet xsheet = new XRSheet(sheet);
                xsheet.hideflag = sheetdata.NeedHide;
                xsheet.app      = this;
                xsheet.setVisable("");
                rsheets.Add(xsheet.sheetName, xsheet);
            }
            LoadRangeToSheet();
        }