如果listview的AllowReorder列设置为true,如何在运行时基于列标题文本的displayindex获取字符串列表? listview.Columns仅按原始顺序返回列。
最佳答案
C#2.0?还是C#3.0? LINQ答案(C#3.0,带有.NET 3.5或.NET 2.0/3.0,带有LINQBridge)要容易得多; -p
IE。
var names = (from col in listView.Columns.Cast<ColumnHeader>()
orderby col.DisplayIndex
select col.Text).ToList();
vs:
List<ColumnHeader> cols = new List<ColumnHeader>();
// 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<string> names = cols.ConvertAll<string>(delegate(ColumnHeader x) {
return x.Text;
});
无论哪种方式,都将为您提供列标题文本值的
List<string>
。关于c# - 如何获取基于displayindex的 ListView 的列标题的列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/348604/