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
Post a Comment