protected void btnAddCubeConfirm_Click(object sender, EventArgs e)
    {
        if (txtCubeName.Text.Trim() == "")
        {
            lblCubeAddMsg.Text = "Cube名称不能为空。";
            return;
        }
        Cube cube = new Cube();

        cube.Name          = txtCubeName.Text.Trim();
        cube.Explain       = txtExplain.Text.TrimEnd();
        cube.CubeFolder    = new CubeFolder();
        cube.CubeFolder.ID = ddlCubeToAddFoler.SelectedValue;
        try
        {
            CubeDB.AddCube(cube);
            lblCubeAddMsg.Text = "添加Cube成功。";
            if (ddlCubeFolder.SelectedValue == ddlCubeToAddFoler.SelectedValue)
            {
                BindGridCube(ddlCubeFolder.SelectedValue);
            }
            tableCubeAdd.Visible = false;
        }
        catch (Exception ex)
        {
            lblCubeAddMsg.Text = "添加Cube失败。" + ex.Message;
        }
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         string cubeID = Request.QueryString["cubeid"];
         if (string.IsNullOrEmpty(cubeID))
         {
             lblMsg.Visible = true;
             lblMsg.Text    = "参数错误,未能获取CubeID。";
         }
         else
         {
             Cube cube = CubeDB.GetCubeById(cubeID);
             if (cube == null)
             {
                 lblMsg.Visible = true;
                 lblMsg.Text    = "未找到此Cube,请确认CubeID:" + cubeID + "是否正确。";
             }
             else
             {
                 lblCubeName.Text   = cube.Name;
                 hiddenCubeID.Value = cube.ID.ToString();
                 BindSource();
                 BindTvCubeNewly();
                 BindingFact();
                 BindTvCubeOriginal();
             }
         }
     }
 }
Exemple #3
0
    private void BindTvCubeNewly()
    {
        tvCubeNewly.Nodes.Clear();
        #region 绑定tvCubeNewly
        string             strCubeId    = lblCubeName.Text;
        TreeNode           tnMeasureNew = new TreeNode("指标", "Measure");
        TreeNode           tnDimNew     = new TreeNode("维度", "Dim");
        List <Sem_Measure> smList       = CubeDB.GetMeasureByCubeID(hiddenCubeID.Value);
        foreach (Sem_Measure sm in smList)
        {
            tnMeasureNew.ChildNodes.Add(new TreeNode(sm.DisplayName, sm.ID));
        }
        List <Sem_Dimension> sdList = CubeDB.GetDimensionByCubeID(hiddenCubeID.Value);
        foreach (Sem_Dimension item in sdList)
        {
            TreeNode tn = new TreeNode(item.Name, item.ID);
            foreach (Level lvl in item.Levels)
            {
                tn.ChildNodes.Add(new TreeNode(lvl.Name, lvl.ID));
            }
            tnDimNew.ChildNodes.Add(tn);
        }
        tvCubeNewly.Nodes.Add(tnMeasureNew);
        tvCubeNewly.Nodes.Add(tnDimNew);

        #endregion
    }
    protected void gridCube_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        Cube cube = new Cube();

        cube.ID = int.Parse(gridCube.DataKeys[e.RowIndex].Value.ToString());
        CubeDB.DeleteCube(cube);
        BindGridCube(ddlCubeFolder.SelectedValue);
    }
    protected void InitSelectCube(string folderID)
    {
        List <Cube> lstCube = CubeDB.GetCubeListByFolder(folderID);

        foreach (Cube c in lstCube)
        {
            ListItem item = new ListItem();
            item.Text  = c.Name;
            item.Value = c.ID.ToString();
            selectCube.Items.Add(item);
        }
    }
    private void BindGridCube(string folderID)
    {
        List <Cube> cubeList = CubeDB.GetCubeListByFolder(folderID);

        gridCube.DataSource = cubeList;
        gridCube.DataBind();
        List <CubeFolder> folderList = CubeFolderDB.GetAllFolderList();

        foreach (GridViewRow row in gridCube.Rows)
        {
            DropDownList ddl = row.Cells[1].FindControl("ddlCubeFolderInGrid") as DropDownList;
            BindDdlCubeFolderInGrid(ddl, folderList, cubeList.Find(p => p.ID.ToString() == gridCube.DataKeys[row.RowIndex].Value.ToString()).CubeFolder.ID);
            if (row.RowIndex != gridCube.EditIndex)
            {
                ddl.Enabled = false;
            }
        }
    }
 protected void gridCube_RowUpdating(object sender, GridViewUpdateEventArgs e)
 {
     gridCube.EditIndex = -1;
     if (e.NewValues[0] != null)
     {
         Cube cube = CubeDB.GetCubeById(gridCube.DataKeys[e.RowIndex].Value.ToString());
         cube.Name = e.NewValues[0].ToString();
         if (e.NewValues[1] != null)
         {
             cube.Explain = e.NewValues[1].ToString();
         }
         else
         {
             cube.Explain = "";
         }
         cube.CubeFolder.ID = (gridCube.Rows[e.RowIndex].Cells[1].FindControl("ddlCubeFolderInGrid") as DropDownList).SelectedValue;
         CubeDB.UpdateCube(cube);
     }
     BindGridCube(ddlCubeFolder.SelectedValue);
 }
    private void BindTvCubeNewly()
    {
        tvCubeNewly.Nodes.Clear();
        #region 绑定tvCubeNewly
        string             strCubeId    = lblCubeName.Text;
        TreeNode           tnMeasureNew = new TreeNode("指标", "Measure");
        TreeNode           tnDimNew     = new TreeNode("维度", "Dim");
        List <Sem_Measure> smList       = CubeDB.GetMeasureByCubeID(hiddenCubeID.Value);
        smList.Sort(new MeasureCompare());
        if (smList.Count > 0)
        {
            factid = smList[0].FactID;
        }
        IEnumerable <IGrouping <string, Sem_Measure> > smGps = smList.GroupBy(m => m.TableName);
        foreach (var gp in smGps)
        {
            TreeNode factNode = new TreeNode();
            factNode.Text  = gp.Key;
            factNode.Value = "FactTable" + gp.Key;
            tnMeasureNew.ChildNodes.Add(factNode);
            foreach (Sem_Measure sm in gp.ToList <Sem_Measure>())
            {
                factNode.ChildNodes.Add(new TreeNode(sm.DisplayName, sm.ID));
            }
        }
        List <Sem_Dimension> sdList = CubeDB.GetDimensionByCubeID(hiddenCubeID.Value);
        foreach (Sem_Dimension item in sdList)
        {
            TreeNode tn = new TreeNode(item.Name, item.ID);
            foreach (Level lvl in item.Levels)
            {
                tn.ChildNodes.Add(new TreeNode(lvl.Name, lvl.ID));
            }
            tnDimNew.ChildNodes.Add(tn);
        }
        tvCubeNewly.Nodes.Add(tnMeasureNew);
        tvCubeNewly.Nodes.Add(tnDimNew);

        #endregion
    }