public void CloseEdit(bool save) { if (_inPlaceEditBox.Visible && !_closingInPlaceEdit) { _closingInPlaceEdit = true; if (_inPlaceEditBox.Text != _startEditText) { JetItemEditEventArgs args = new JetItemEditEventArgs(save ? _inPlaceEditBox.Text : null, _editNode.Data, _editColumn); OnAfterItemEdit(args); } _host.SetEditedNode(null); _inPlaceEditBox.Visible = false; _host.Focus(); _closingInPlaceEdit = false; } }
public void BeginEdit(JetListView jetListView, JetListViewColumn col, JetListViewNode node) { _host = jetListView; _editColumn = col; _editNode = node; if (!jetListView.Controls.Contains(_inPlaceEditBox)) { jetListView.Controls.Add(_inPlaceEditBox); } Rectangle rc = jetListView.GetItemBounds(node, col); if (col.SizeToContent) { rc.Width = jetListView.InternalClientRect().Width - rc.Left; } JetItemEditEventArgs args = new JetItemEditEventArgs(col.GetItemText(node.Data, rc.Width), node.Data, col); OnBeforeItemEdit(args); if (args.CancelEdit) { return; } jetListView.ScrollInView(node); jetListView.SetEditedNode(node); _inPlaceEditRect = new Rectangle(rc.Left - 2, rc.Top - 1, rc.Width + 4, rc.Height + 2); _inPlaceEditBox.Bounds = _inPlaceEditRect; _inPlaceEditBox.Text = args.Text; _startEditText = args.Text; AutosizeInPlaceEdit(); _inPlaceEditBox.Visible = true; _inPlaceEditBox.Focus(); }