Ejemplo n.º 1
0
        public override Detail ConvertToEntity()
        {
            var detail = base.ConvertToEntity();

            detail.DetailValue = DetailValue?.ConvertToEntity();
            if (ItemId != null)
            {
                detail.Item = new Item()
                {
                    Id = ItemId.Value
                }
            }
            ;
            return(detail);
        }
    }
Ejemplo n.º 2
0
        private void detailObject_FormatCell(object sender, FormatCellEventArgs e)
        {
            DetailValue detailValue = (DetailValue)e.Model;
            RemarksID   remarksID   = RemarksDao.Instance.GetDeviceDataById(detailValue.ID + detailValue.Name);

            if (remarksID != null && !string.IsNullOrEmpty(remarksID.remarks) && e.SubItem.Text.Equals(remarksID.typeId))
            {
                e.SubItem.Text = remarksID.remarks;
            }
            if (remarksID != null && !string.IsNullOrEmpty(remarksID.A) && !string.IsNullOrEmpty(remarksID.R) && !string.IsNullOrEmpty(remarksID.G) && !string.IsNullOrEmpty(remarksID.B))
            {
                e.SubItem.ForeColor = System.Drawing.Color.FromArgb(int.Parse(remarksID.A), int.Parse(remarksID.R), int.Parse(remarksID.G), int.Parse(remarksID.B));
            }
            else
            {
                e.SubItem.ForeColor = System.Drawing.Color.Black;
            }
        }
Ejemplo n.º 3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.deviceList.SelectionChanged += DelegateItemClick;
            this.Resize += new EventHandler(Form1_Resize);
            width        = this.Width;
            height       = this.Height;
            SetTag(this);
            Form1_Resize(new object(), new EventArgs());//x,y可在实例化时赋值,最后这句是新加的,在MDI时有用

            this.deviceList.HotItemChanged += delegate(object msender, HotItemChangedEventArgs args) {
                if (sender == null)
                {
                    return;
                }
                switch (args.HotCellHitLocation)
                {
                case HitTestLocation.Nothing:

                    ClearAddedcomponent();
                    break;

                case HitTestLocation.Text:
                    detail.Visible = true;
                    Point point = deviceList.GetItem(args.HotRowIndex).Position;
                    if (point.Y < 2 + Panel.Height)
                    {
                        detail.Location = new Point(deviceList.Width, 2 + Panel.Height);
                    }
                    else if (point.Y + detail.Height > Height - 2)
                    {
                        detail.Location = new Point(deviceList.Width, Height - 2 - detail.Height);
                    }
                    else
                    {
                        detail.Location = new Point(deviceList.Width, point.Y);
                    }

                    ItemPoint oLVListItem = (ItemPoint)deviceList.GetItem(args.HotRowIndex).RowObject;
                    detailInfo.Text = oLVListItem.title;
                    dialogDeviceId  = oLVListItem.deviceId;
                    List <DetailValue> list = new List <DetailValue>();
                    string             time = null;
                    foreach (DataStreams dataStream in oLVListItem.dataStreamsList)
                    {
                        //只获取最新的一个点在弹框中显示
                        bool        m           = false;
                        DetailValue detailValue = new DetailValue();
                        detailValue.ID = oLVListItem.deviceId;
                        foreach (DataPoints dataPoints in dataStream.datapoints)
                        {
                            if (m)
                            {
                                break;
                            }
                            detailValue.Name = dataStream.id;
                            StringBuilder builder = new StringBuilder();
                            if (time == null)
                            {
                                time = dataPoints.at;
                            }
                            else
                            {
                                if (time.CompareTo(dataPoints.at) < 0)
                                {
                                    time = dataPoints.at;
                                }
                            }
                            builder.Append(dataPoints.value);
                            foreach (DeviceDataStreams stream in oLVListItem.deviceDatastreams)
                            {
                                if (dataStream.id.Equals(stream.id))
                                {
                                    builder.Append(stream.unit);
                                    detailValue.Value = builder.ToString();
                                    list.Add(detailValue);
                                    m = true;
                                    break;
                                }
                            }
                        }
                    }
                    updateTime.Text = time;
                    detailObject.SetObjects(list);
                    break;
                }
            };
            items.Clear();
            BackThreadLatesPoint();
        }