void VGrid_MouseClick(object sender, MouseEventArgs e) { VGridHitInfo hitInfo = VGrid.CalcHitInfo(VGrid.PointToClient(this.PointToScreen(e.Location))); if (hitInfo.Row != null && e.Button == System.Windows.Forms.MouseButtons.Left && e.Location.X - VGrid.ViewInfo[hitInfo.Row].ValuesRect.Left < 18 && e.Location.X - VGrid.ViewInfo[hitInfo.Row].ValuesRect.Left > 0) { RunFocusedLink(); } }
private void navEditEntry_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e) { dwWin2.Hide(); dwWin1.Hide(); dwWin1.Text = "Registry Entry"; VGrid frm = new VGrid() { TopLevel = false }; radPanel1.Controls.Clear(); frm.FormBorderStyle = FormBorderStyle.None; frm.Dock = DockStyle.Fill; radPanel1.Controls.Add(frm); frm.Execute(); dwWin1.Show(); }
public void Render(VGrid grid) { var measure = grid.Body.Measure(GridMeasure.Infinite, _layoutModel); var range = GridRange.Create(GridVector.Zero, measure); grid.Body.Arrange(range, _layoutModel); // 余った列を削除する。 for (var i = _inner.Columns.Count; i > measure.Column;) { i--; Debug.WriteLine("Remove column"); _inner.Columns.RemoveAt(i); } // 足りない列を追加する。 for (var i = _inner.Columns.Count; i < measure.Column; i++) { Debug.WriteLine("Add column"); _inner.Columns.Add(i.ToString(), i.ToString()); } // 余った行を削除する。 for (var i = _inner.Rows.Count; i > measure.Row;) { i--; if (!_inner.Rows[i].IsNewRow) { Debug.WriteLine("Remove row"); _inner.Rows.RemoveAt(i); } } // 足りない行を追加する。 for (var i = _inner.Rows.Count; i < measure.Row; i++) { Debug.WriteLine("Add row"); _inner.Rows.Add(); } // セルを更新する。 foreach (var vCell in grid.Cells) { var point = _layoutModel.Touch(vCell.ElementKey).LastArrange.Start; var cellElement = _inner.Rows[point.Row.Row].Cells[point.Column.Column]; if (!EqualityComparer <object> .Default.Equals(cellElement.Value, vCell.Value)) { Debug.WriteLine("Cell[{0}].Value = {1}", point.AsDebug, vCell.Value); cellElement.Value = vCell.Value; } var readOnly = vCell.Attributes["A_READ_ONLY"] as bool? == true; if (cellElement.ReadOnly != readOnly) { cellElement.ReadOnly = readOnly; } } _lastGrid = grid; }