如果列表视图的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<ColumnHeader>()
orderby col.DisplayIndex
select col.Text).ToList();
Run Code Online (Sandbox Code Playgroud)
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;
});
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,它都会为您提供List<string>列标题文本值.
| 归档时间: |
|
| 查看次数: |
6444 次 |
| 最近记录: |