2017-06-05 4 views
-1

DataGridViewに35列あり、プログラムでFORループを実行して、ヘッダーテキストの配置を4列目から20列目のみに設定する方法が不思議でした。それは列単位で行うことができますが、私はそれを行うより速く/よりスマートな方法が必要であると確信しています。forループを使用するクリーナー/スマートな方法

alunos_detDataGridView.Columns[4].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter; 
alunos_detDataGridView.Columns[5].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter; 
+5

あなたが何を求めているのかは不明です。あなたはすでに[forループ](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/for)を使用して答えを得ています。試してみるとどうなりますか? –

答えて

4

使用forループを4から20まで徐々に(この場合i)変数を増加させ、カラムのインデックスとして、この変数を使用する:

for(int i = 4; i <= 20; i++) 
{ 
     alunos_detDataGridView.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter; 
} 
-1
Enumerable.Range(4,16).ToList().ForEach(i=> alunos_detDataGridView.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter); 
私が使用しているコード下記参照

ループの種類によって問題は解決します

+0

あなたは間違って、そのような恐ろしいパフォーマンス志向の視点で列挙しています。なぜ簡単なループがそれをするのか、4-16(OPが4-20に尋ねたとき)を3回列挙するのはなぜですか? (範囲の最初の列挙、ToListの2番目とForEachの3番目の列挙。 –

関連する問題