リストビューの AllowReorder 列が true に設定されている場合、実行時に displayindex に基づいて列ヘッダー テキストの文字列リストを取得するにはどうすればよいですか? listview.Columns は元の順序で列のみを返します。
6710 次
1 に答える
5
C#2.0? それともC#3.0? LINQ の回答 (C# 3.0、.NET 3.5 または .NET 2.0/3.0 とLINQBridge ) の方がずっと簡単です;-p
すなわち
var names = (from col in listView.Columns.Cast<ColumnHeader>()
orderby col.DisplayIndex
select col.Text).ToList();
対:
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>
、列ヘッダーのテキスト値が得られます。
于 2008-12-08T04:58:08.183 に答える