pradeepradyumna
pradeepradyumna

Reputation: 1072

C# Listview LabelEdit

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.

Before Edit

enter image description here

Upvotes: 1

Views: 1448

Answers (2)

Vinicius Gonçalves
Vinicius Gonçalves

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

alan
alan

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

Related Questions