Programming/C#
[C#] SubItem이 수정가능한 ListView
Foolishdevil
2010. 1. 31. 14:17
ListView에 대한 내용을 찾다가..
ListView 자체에서 수정가능한 컨트롤을 찾았다.
ListView에서 수정할 수 있는 컨트롤 textBox와 ComboBox를 추가하였다.
private Control[] Editors; public void Form_Load(object sender, Eventargs e) { Editors = new Control[] { null, textBox2, textBox2, comboBox4, comboBox4, comboBox4, comboBox4, comboBox4, comboBox4, comboBox4, comboBox4}; }
컨틀롤 변수를 선언하여.. 리스트뷰의 컬럼헤더를 어떤한 컨트롤로 변경할 건지에 대해서 지정해주며,
ListViewEx의 이벤트 중에서 SubItemClicked과 MouseMove 이벤트를 아래와 같이 작성해주면 정상적으로 ListView 안에서 SubItem을 수정할 수 있다.
private void ListViewEdit_SubItemClicked(object sender, ListViewEx.SubItemEventArgs e) { try { if (e.SubItem == 11) { e.Item.SubItems[e.SubItem].Text = e.Item.Tag.ToString(); } listViewEx1.StartEditing(Editors[e.SubItem], e.Item, e.SubItem); } catch(System.Exception) { return; } } private void ListViewEdit_MouseMove(object sender, MouseEventArgs e) { try { ListViewItem item; int index = listViewEx1.GetSubItemAt(e.X, e.Y, out item); if (item != null && index == 11) toolTip1.SetToolTip(listViewEx1, item.Tag.ToString()); else toolTip1.SetToolTip(listViewEx1, null); } catch(System.Exception) { return; } }
출처 : http://www.codeproject.com/
프로젝트 소스를 받아서 지금 진행하고 있는 프로젝트에 적용 후 블로그에 게시 하였습니다. 저작권에 문제되시면 메일 주세요