2015-06-03 6 views
0

У меня есть listview, который имеет 5 столбцов, и он доступен для редактирования. Я использовал hitinfo, когда я дважды щелкаю по столбцу 4 i, datepicker появится в столбце 4 и отобразит его значение. Теперь i когда я нажимаю backspace, я хочу удалить значение выбранного элемента в столбце4.Добавить subitems в listview выбранный элемент

вот мой код.

private void dtpicker_Keydown(object sender, Eventargs e) 
{ 
    if (e.keycode == keys.back) 
     { 
     lv1.selecteditems[0].subitems.add(""); 
     } 
} 

но когда я запустить приложение оно не удалить

здесь мои данные ListView.

Column1 Column2 Column3 Column4 Column5 
1   3   4   5/5/2015  2 
3   5   3   5/5/2015  3 

Я хочу, чтобы этот вид Результат

Column1 Column2 Column3 Column4 Column5 
    1   3   4      2 
    3   5   3   5/5/2015  3 
+0

Попробуйте что-нибудь вроде этого: http://stackoverflow.com/questions/6829678/how-to-delete-selected-items-from-a-listview-by -pressing-the-delete-button Добавить обработку для Backspace вместо Delete. –

+0

Я получаю его, но я хочу только текст в определенном столбце не весь выбранный элемент – Daryl

+1

Почему вы добавляете 'SubItem', когда вам нужно сделать его пустым? –

ответ

0

Примечание индексацию, то KeyDown событие, включая SuppressKeyPress, и способ доступа к SubItem.Text:

private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Back) 
    { 
     lv1.SelectedItems[0].SubItems[3].Text = ""; 
     e.SuppressKeyPress = true; 
    } 
} 

Нам нужно отменить событие, поэтому мы не выставляем исключение для удаления любого из полей Date.

Обратите внимание, что я оставил любую проверку, например. для SelectedItems.Count > 0 или для подсчета соответствующих SubItems коллекции.

+0

Отлично !!! эта работа... – Daryl