winforms - How to add column to datagridview using AddRange c# -


i saw people use below code add many column @ time. here code

        var col3 = new datagridviewtextboxcolumn();         var col4 = new datagridviewcheckboxcolumn();          col3.headertext = "column3";         col3.name = "column3";          col4.headertext = "column4";         col4.name = "column4";          datagridview1.columns.addrange(new datagridviewcolumn[] {col3,col4}); 

but situation bit different. way adding column datagridview in loop.

foreach (datacolumn column in retriever.columns) {     datagridview1.columns.add(column.columnname, column.columnname); } 

anyone can tell me how modify above code use addrange() instead of add() function. intention add columns @ time instead of adding loop.

you can use linq select statement:

datagridview1.columns.addrange(retriever.columns.cast<datacolumn>().select(n => new datagridviewcolumn {     name = n.columnname,     headertext = n.columnname }));   

but optimally foreach:

retriever.columns.cast<datacolumn>().tolist().foreach(n => datagridview1.columns.add(n.columnname, n.columnname)); 

it merely examples of solution in way. in opinion current method of initializing list entirely correct.


Comments