public override Detail ConvertToEntity() { var detail = base.ConvertToEntity(); detail.DetailValue = DetailValue?.ConvertToEntity(); if (ItemId != null) { detail.Item = new Item() { Id = ItemId.Value } } ; return(detail); } }
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; } }
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(); }