private void BindingFact()
 {
     try
     {
         List <Fact> factList = FactDB.GetFactAll();
         string      srcID    = null;
         if (!string.IsNullOrEmpty(factid))
         {
             Fact curFact = factList.Find(p => p.ID == factid);
             if (curFact != null)
             {
                 srcID = curFact.Source.ID;
                 ddlSource.ClearSelection();
                 foreach (ListItem item in ddlSource.Items)
                 {
                     if (item.Value == srcID)
                     {
                         item.Selected = true;
                         break;
                     }
                 }
             }
         }
         List <Fact> factsToBind = factList.FindAll(p => p.Source.ID == ddlSource.SelectedValue);
         factsToBind.Sort(new FactCompare());
         ddlFact.Items.Clear();
         foreach (Fact f in factsToBind)
         {
             ddlFact.Items.Add(new ListItem(f.Name + "   (" + f.FactTable + ")", f.ID));
         }
         ddlFact.Items.Insert(0, new ListItem("---选择事实---", ""));
         if (string.IsNullOrEmpty(factid))
         {
             if (ddlFact.Items.Count > 1)
             {
                 ddlFact.ClearSelection();
                 ddlFact.SelectedIndex = 1;
             }
         }
         else
         {
             ddlFact.ClearSelection();
             foreach (ListItem item in ddlFact.Items)
             {
                 if (item.Value == factid)
                 {
                     item.Selected = true;
                     break;
                 }
             }
         }
     }
     catch (Exception e)
     {
         ScriptManager.RegisterStartupScript(Page, GetType(), "", "alert('异常信息:" + e.Message + "')", true);
     }
 }
    protected void ddlSource_SelectedIndexChanged(object sender, EventArgs e)
    {
        List <Fact> factsToBind = FactDB.GetFactAll().FindAll(p => p.Source.ID == ddlSource.SelectedValue);

        factsToBind.Sort(new FactCompare());
        ddlFact.Items.Clear();
        foreach (Fact f in factsToBind)
        {
            ddlFact.Items.Add(new ListItem(f.Name + "   (" + f.FactTable + ")", f.ID));
        }
        ddlFact.Items.Insert(0, new ListItem("---选择事实---", ""));
        if (ddlFact.Items.Count > 1)
        {
            ddlFact.SelectedIndex = 1;
            BindTvCubeOriginal();
            chkAllDimension.Checked = false;
            chkAllMeasure.Checked   = false;
        }
    }