foreach (string s in new string[]{"ColumnA","ColumnB","ColumnC"}) > { > dgvActiveBlocks.Columns.Add (new DataGridViewTextBoxColumn() { Name = s }); > }>
>>foreach (DataGridViewColumn col in dgvActiveBlocks.Columns) >> { >> col.Visible = new List<string>() { >> "PaymentBlock", >> "RaisedBy", >> "BlockDescription", >> "etc" } >> .Contains(col.Name); >> } >>>>
foreach (DataGridViewColumn col in dgvActiveBlocks.Columns) >>> { >>> col.Visible = new string[] { >>> "PaymentBlock", >>> "RaisedBy", >>> "BlockDescription", >>> "etc" } >>> .Contains(col.Name); >>> }Shorter, but dunno if it's quicker :-}
>>>>this.dgvActiveBlocks.DataSource = this.dsBlocks.Tables[0]; >>>>>>>>
>>>>this.dgvActiveBlocks.AutoGenerateColumns = true; >>>>>>>>
>>>>foreach (DataGridViewColumn col in this.dataGridView1.Columns) >>>>{ >>>> col.Visible = false; >>>>} >>>>this.dataGridView1.Columns["PaymentBlock"].Visible = true; >>>>this.dataGridView1.Columns["BlockDescription"].Visible = true; >>>>this.dataGridView1.Columns["RaisedBy"].Visible = true; >>>>this.dataGridView1.Columns["RaisedDate"].Visible = true; >>>>this.dataGridView1.Columns["RaisedDepartment"].Visible = true; >>>>this.dataGridView1.Columns["Status"].Visible = true; >>>>>>>>
>>>>DataGridViewTextBoxColumn[] cols = new DataGridViewTextBoxColumn[6]; >>>>cols[0] = new DataGridViewTextBoxColumn(); >>>>cols[0].DataPropertyName = "PaymentBlock"; >>>>cols[0].HeaderText = "Payment Block"; >>>>cols[1] = new DataGridViewTextBoxColumn(); >>>>cols[1].DataPropertyName = "BlockDescription"; >>>>cols[1].HeaderText = "BlockDescription"; >>>>// etc. for the rest of the columns >>>>this.dataGridView1.Columns.AddRange(cols); >>>>>>>>
>>>>>foreach (DataRow dr in this.dsBlocks.Tables[0].Rows) >>>>>{ >>>>> Object[] cells = {dr["PaymentBlock"].ToString(), >>>>> dr["BlockDescription"].ToString(), >>>>> dr["RaisedBy"].ToString(), >>>>> dr["RaisedDate"].ToString(), >>>>> dr["RaisedDepartment"].ToString(), >>>>> dr["Status"]}; >>>>> >>>>> this.dgvActiveBlocks.Rows.Add(cells); >>>>>} >>>>>>>>>>