单击列标题时,我想对列表视图数据进行排序。用代码找到了这篇文章。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] 删除。
我来说两句