C#ListView的操作,MSDN文档已经说的比较详细,但是自己这两天在做一个小工具的时候发现还是有很多人在问跟我遇到的类似的问题:如何删除一列?将某一列删除后,重新导出数据如何才能正确?鉴于此,将自己的方式共享出来(c#小弟基本上没有怎么用过,只是简单了解,勿拍砖,小弟专注于移动安全、PC安全,欢迎交流:4014878)
删除一列
删除一列的操作,是在listView.Columns.Remove*这三个函数上,实际操作过程中,这三个函数仅仅是从UI上将对应的列隐藏起来了,在内存中,数据并未发生变化。
删除一列,可以增加一个对LitView的ColumnClick事件做一个处理:
listViewData.ColumnClick += new ColumnClickEventHandler(OnColumnClicked);
private void OnColumnClicked(object sender, ColumnClickEventArgs e)
{
DialogResult result = MessageBox.Show(this,"是否要删除该列?","提示",MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
int n = e.Column+1;
listViewData.Columns.RemoveByKey(Convert.ToString(n));
int rows = listViewData.Items.Count;
int nColumns = 0;
for(int i=0;i<rows;i++)
{
nColumns = listViewData.Items[i]