Beispiel #1
0
        void _BGWScoreCalcRuleLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ScoreCalcRuleInfoCollection resp = (ScoreCalcRuleInfoCollection)e.Result;

            FillAdvTreeItem(resp);
            BtnEnabled(false);
            scoreCalcRuleEditor1.Visible = false;
            setDataLoading(false);
        }
        void _BGWScoreCalcRuleLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            comboBoxEx1.Items.Remove(comboItem2);

            ScoreCalcRuleInfoCollection resp = (ScoreCalcRuleInfoCollection)e.Result;

            foreach (ScoreCalcRuleInfo scr in resp)
            {
                ComboItem item = new ComboItem();
                item.Text = scr.Name;
                item.Tag  = scr.ScoreCalcRuleElement;
                comboBoxEx1.Items.Add(item);
            }
        }
        void _BGWScoreCalcRuleLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            ScoreCalcRuleInfoCollection resp = (ScoreCalcRuleInfoCollection)e.Result;

            foreach (ScoreCalcRuleInfo scr in resp)
            {
                ButtonItem item = new ButtonItem(scr.ID, scr.Name);
                item.Tag = scr;
                itemPanel1.Items.Add(item);
                item.Click += new EventHandler(item_Click);
            }
            btn_update.Enabled           = false;
            btn_delete.Enabled           = false;
            scoreCalcRuleEditor1.Visible = false;
            itemPanel1.Refresh();
            resetDataLoading();
        }
Beispiel #4
0
        /// <summary>
        /// 把資料填入AdvTree
        /// </summary>
        /// <param name="items"></param>
        private void FillAdvTreeItem(ScoreCalcRuleInfoCollection items)
        {
            string noSchoolYear = "未分類";
            Dictionary <string, DevComponents.AdvTree.Node> itemNodes = new Dictionary <string, DevComponents.AdvTree.Node>();

            // 先根據學年度分類
            #region 根據學年度分類
            foreach (ScoreCalcRuleInfo item in items)
            {
                string schoolYear = item.SchoolYear;
                if (string.IsNullOrEmpty(item.SchoolYear))
                {
                    schoolYear = noSchoolYear;
                }

                if (!itemNodes.ContainsKey(schoolYear))
                {
                    itemNodes.Add(schoolYear, new DevComponents.AdvTree.Node());
                    itemNodes[schoolYear].Text      = (schoolYear == noSchoolYear) ? noSchoolYear : schoolYear + "學年度";
                    itemNodes[schoolYear].TagString = (schoolYear == noSchoolYear) ? "" : schoolYear;
                }

                DevComponents.AdvTree.Node childNode = new DevComponents.AdvTree.Node();

                childNode.Tag  = item;
                childNode.Text = item.TrimName;
                childNode.Name = item.ID;

                if (_AdvTreeExpandStatus.ContainsKey(itemNodes[schoolYear].TagString))
                {
                    itemNodes[schoolYear].Expanded = _AdvTreeExpandStatus[itemNodes[schoolYear].TagString];
                }

                itemNodes[schoolYear].Nodes.Add(childNode);
            }
            #endregion 根據學年度分類

            // 針對學年度排序
            #region 針對學年度排序
            List <string> sortedKey = itemNodes.Keys.ToList <string>();
            sortedKey.Sort(delegate(string key1, string key2)
            {
                if (key1 == "未分類")
                {
                    return(1);
                }
                if (key2 == "未分類")
                {
                    return(-1);
                }

                string sort1 = key1.PadLeft(10, '0');
                string sort2 = key2.PadLeft(10, '0');
                return(sort2.CompareTo(sort1));
            });
            #endregion 針對學年度排序

            // 把結果填入畫面
            #region 把結果填入畫面
            advTree1.BeginUpdate();
            advTree1.Nodes.Clear();
            foreach (string key in sortedKey)
            {
                itemNodes[key].Nodes.Sort();
                advTree1.Nodes.Add(itemNodes[key]);
            }

            if (_AdvTreeExpandStatus.Count == 0)
            {
                if (advTree1.Nodes.Count > 0)
                {
                    advTree1.Nodes[0].Expand();
                }
            }

            advTree1.EndUpdate();
            #endregion 把結果填入畫面

            if (_SelectItem != null)
            {
                advTree1.SelectedNode = _SelectItem;
            }
        }