Beispiel #1
0
        private void listMainInfo_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
        {
            try
            {
                if (e.ItemIndex >= listMainInfo.VirtualListSize || e.ItemIndex >= listMainInfo.DataList.Count)
                {
                    return;
                }

                PortfolioStockInfo pi = listMainInfo.DataList[e.ItemIndex];

                e.Item = new ListViewItem(new string[]
                {
                    string.Format("{0:c}", pi.Name),
                    string.Format("{0:c}", pi.NetAssetApprAmt),
                    string.Format("{0:c}", pi.Deposit2),
                    string.Format("{0:c}", pi.ApprAmt),
                    string.Format("{0:c}", pi.OrderAmt),
                    string.Format("{0:c}", pi.CreditAmt),
                    string.Format("{0:c}", pi.ApprProfit),
                    string.Format("{0:p2}", pi.ApprProfitRate),
                    string.Format("{0:p2}", pi.NetAssetChangedRate)
                })
                {
                    Tag = pi
                };
            }
            catch
            {
                Utils.LogError("error", "listViewPortInfo_RetrieveVirtualItem");
            }
        }
Beispiel #2
0
        private void listMainInfo_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
        {
            using (StringFormat sf = new StringFormat())
            {
                switch (e.Header.TextAlign)
                {
                case HorizontalAlignment.Center:
                    sf.Alignment = StringAlignment.Center;
                    break;

                case HorizontalAlignment.Right:
                    sf.Alignment = StringAlignment.Far;
                    break;

                case HorizontalAlignment.Left:
                    sf.Alignment = StringAlignment.Near;
                    break;
                }

                sf.LineAlignment = StringAlignment.Far;
                Brush fontBrush = Brushes.White;

                if (_type == BalanceType.PORT)
                {
                    PortfolioStockInfo pi = mPortStockInfoList[e.ItemIndex];

                    switch (e.ColumnIndex)
                    {
                    case 0:
                        fontBrush = Brushes.Yellow;
                        break;

                    case 6:
                    case 7:
                        fontBrush = listBalanceInfo.GetPlusMinusBrush(pi.ApprProfit);
                        break;

                    case 8:
                        fontBrush = listBalanceInfo.GetPlusMinusBrush(pi.NetAssetChangedRate);
                        break;
                    }
                }

                e.Graphics.DrawString(e.SubItem.Text, this.Font, fontBrush, e.Bounds, sf);

                listMainInfo.OnDrawSubItem(sender, e);
            }
        }