Reputation: 1072
I want to edit a column of a listview
in my winform's application and I do it by Setting LabelEdit = true
and writing the below code in KeyDown
event
if (e.KeyData == Keys.F2 && lvwColumns.SelectedItems.Count > 0)
lvwColumns.SelectedItems[0].BeginEdit();
After editing the label, how can I validate the entered value? If the value is null or empty, I'd like to prevent it from saving.
Upvotes: 1
Views: 1448
Reputation: 2724
Use this AfterLabelEdit MSDN:
Sample on form:
public Form1()
{
InitializeComponent();
lvwColumns.LabelEdit = true;
lvwColumns.AfterLabelEdit += lvwColumns_AfterLabelEdit;
}
private void lvwColumns_AfterLabelEdit(object sender, LabelEditEventArgs e)
{
if (String.IsNullOrWhiteSpace(e.Label))
e.CancelEdit = true;
}
Upvotes: 2
Reputation: 6943
It sounds like you are looking for the ListView.AfterLabelEdit
Event.
private void lvwColumns_AfterLabelEdit(object sender, System.Windows.Forms.LabelEditEventArgs e)
{
if (string.IsNullOrWhitespace(e.Label))
{
e.CancelEdit = true;
MessageBox.Show ("Please enter a valid value.");
return;
}
}
Upvotes: 3