ListView排序

用户名

单击列标题时,我想对列表视图数据进行排序。用代码找到了这篇文章。http://msdn.microsoft.com/zh-cn/library/ms229643%28v=vs.90%29.aspx

但是运行时,第一行

ColHeader clickedCol = (ColHeader)this.listView_ChkInOut.Columns[e.Column];

已经产生错误,无效的强制转换异常未处理。

public class ColHeader : ColumnHeader
        {
            public bool ascending;
            public ColHeader(string text, int width, HorizontalAlignment align, bool asc)
            {
                this.Text = text;
                this.Width = width;
                this.TextAlign = align;
                this.ascending = asc;
            }
        }

我不懂代码,可以解释一下为什么有这个错误吗?

邦戈
        ColumnHeader lickedCol = (ColumnHeader)this.listView1.Columns[e.Column];
        MessageBox.Show(lickedCol.Text);

据我所见,这应该正常工作。至少我得到正确的文本。

在示例中,您提供了当他添加Columnheaders时发生的情况

// parameter specifies true for an ascending sort order.
listView1.Columns.Add(new ColHeader("Name", 110, HorizontalAlignment.Left, true));
listView1.Columns.Add(new ColHeader("Region", 50, HorizontalAlignment.Left, true));
listView1.Columns.Add(new ColHeader("Sales", 70, HorizontalAlignment.Left, true));

他添加了ColHeaders而不是ColumnHeaders。我认为您还没有执行此操作,然后您得到了错误,至少这是发生在我身上的错误;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章