如果列表视图的AllowReorder列设置为true,如何在运行时根据其displayindex获取列标题文本的字符串列表?listview.Columns仅返回原始顺序中的列.
C#2.0?还是C#3.0?LINQ答案(C#3.0,带有.NET 3.5或带有LINQBridge的 .NET 2.0/3.0 )要容易得多;-p
即
var names = (from col in listView.Columns.Cast() orderby col.DisplayIndex select col.Text).ToList();
VS:
Listcols = new List (); // populate foreach (ColumnHeader column in listView.Columns) { cols.Add(column); } // sort cols.Sort(delegate(ColumnHeader x, ColumnHeader y) { return x.DisplayIndex.CompareTo(y.DisplayIndex); }); // project List names = cols.ConvertAll (delegate(ColumnHeader x) { return x.Text; });
无论哪种方式,它都会为您提供List
列标题文本值.