Ejemplo n.º 1
0
        void showGetDaysForRSRankingDialog()
        {
            int defValue = GlobalData.getData().getValueInt("rs_ranking_days");

            if (defValue == 0)
            {
                defValue = 30;
            }
            DlgEnterDay dlg = DlgEnterDay.createDialog("Điểm RS so với VNIndex trong số ngày", defValue);

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                int days = dlg.getDays();

                if (days <= 1)
                {
                    days = 30;
                }
                else
                {
                    GlobalData.getData().setValueInt("rs_ranking_days", days);
                    GlobalData.saveData();
                }

                float[] columnPercents = { 30, 28, 34, 8 }; //  code, price, value

                String[] columnTexts = { "Mã CP", "Giá", "Điểm RS/VNIndex", "" };
                int      sortType    = ShareSortUtils.SORT_RS_RANKING;
                sortedColumn = columnTexts[2];

                _sortType = sortType;

                xVector sorted = shareGroupToVector();
                ShareSortUtils.doSort(sorted, sortType, days);

                _shareGroup.clear();
                for (int i = 0; i < sorted.size(); i++)
                {
                    Share share = (Share)sorted.elementAt(i);
                    _shareGroup.addCode(share.mCode);
                }

                columnTexts[2] = "▼ " + columnTexts[2];

                //==================
                setShareGroup(_shareGroup, sortType);
            }
        }
Ejemplo n.º 2
0
        void delegateShowSortMenu(Control senderControl)
        {
            //  show popup menu
            ContextMenuStrip cm = new ContextMenuStrip();

            cm.Items.Add("RSI");
            cm.Items.Add("MFI");
            cm.Items.Add("Vốn hóa");
            cm.Items.Add("Giá trị giao dịch");
            cm.Items.Add("EPS");
            cm.Items.Add("PE");
            cm.Items.Add("Khối lượng");
            cm.Items.Add("Khối lượng thay đổi (TB3/TB15)");
            cm.Items.Add("Điểm RS/VNIndex");
            cm.Items.Add("-");
            cm.Items.Add("Xuất danh sách ra file excel(csv)");

            cm.ItemClicked += new ToolStripItemClickedEventHandler(
                (sender, item) =>
            {
                if (item.ClickedItem.Text.CompareTo("Xuất danh sách ra file excel(csv)") == 0)
                {
                    xVector filteredShares = shareGroupToVector();

                    ShareSortUtils.exportGroupToCSV(filteredShares, sortedColumn);
                    return;
                }

                float[] columnPercents = { 30, 28, 34, 8 };     //  code, price, value

                String[] columnTexts = { "Mã CP", "Giá", "---", "" };
                int sortType         = ShareSortUtils.SORT_RSI;
                if (item.ClickedItem.Text.CompareTo("RSI") == 0)
                {
                    sortType       = ShareSortUtils.SORT_RSI;
                    columnTexts[2] = "RSI";
                }
                else if (item.ClickedItem.Text.CompareTo("MFI") == 0)
                {
                    sortType       = ShareSortUtils.SORT_MFI;
                    columnTexts[2] = "MFI";
                }
                else if (item.ClickedItem.Text.CompareTo("EPS") == 0)
                {
                    sortType       = ShareSortUtils.SORT_EPS;
                    columnTexts[2] = "EPS";
                }
                else if (item.ClickedItem.Text.CompareTo("PE") == 0)
                {
                    sortType       = ShareSortUtils.SORT_PE;
                    columnTexts[2] = "PE";
                }
                else if (item.ClickedItem.Text.CompareTo("Vốn hóa") == 0)
                {
                    sortType       = ShareSortUtils.SORT_VonHoa;
                    columnTexts[2] = "VốnHóa(tỉ)";
                }
                else if (item.ClickedItem.Text.CompareTo("Giá trị giao dịch") == 0)
                {
                    sortType       = ShareSortUtils.SORT_TRADE_VALUE;
                    columnTexts[2] = "GTGD (tỉ)";
                }
                else if (item.ClickedItem.Text.CompareTo("Khối lượng") == 0)
                {
                    sortType       = ShareSortUtils.SORT_VOLUME;
                    columnTexts[2] = "Khối lượng";
                }
                else if (item.ClickedItem.Text.CompareTo("Khối lượng thay đổi (TB3/TB15)") == 0)
                {
                    sortType       = ShareSortUtils.SORT_THAYDOI_VOL;
                    columnTexts[2] = "+/-Vol(%)";
                }
                else if (item.ClickedItem.Text.CompareTo("Điểm RS/VNIndex") == 0)
                {
                    sortType       = ShareSortUtils.SORT_RS_RANKING;
                    columnTexts[2] = "Điểm RS/VNIndex";

                    showGetDaysForRSRankingDialog();
                    return;
                }
                sortedColumn = columnTexts[2];
                _sortType    = sortType;

                xVector sorted = shareGroupToVector();
                ShareSortUtils.doSort(sorted, sortType, 0);

                _shareGroup.clear();
                for (int i = 0; i < sorted.size(); i++)
                {
                    Share share = (Share)sorted.elementAt(i);
                    _shareGroup.addCode(share.mCode);
                }

                columnTexts[2] = "▼ " + columnTexts[2];

                //==================
                if (mTableType == TABLE_GAINLOSS)
                {
                    setShareGroupAsFilterResult(_shareGroup, sortType);
                }
                else
                {
                    setShareGroup(_shareGroup, sortType);
                }
            });

            int posX = (int)((100 - 7.5f) * rowW);

            posX /= 100;
            cm.Show(senderControl.PointToScreen(new Point(posX, 15)));
        }