I have been using Infragistics for long, I have gone through this scenario many times. Hope this helps few people. The following code shows you how to add bound data field and a template data field.
private void AddReferenceFieldColumnstoWebGrid() { DataTable dtConfigureReffields = crBl.GetConfigureReferenceFields(intCompanyId, intAccountId); // NS: Commenting // Adding colums dynamically. // if we matched these column kyes with grid result // binding will take care automatically string strReferenceFieldName; int intOffset = 11; // position where to start after ref field. //this is the place where we add these columns. for me i will get dynamic columns // from the datatable. for (int j = 0; j < dtConfigureReffields.Rows.Count; j++) { strReferenceFieldName = ""; BoundDataField boundField1 = new BoundDataField(true); strReferenceFieldName = "reference" + (j + 2); boundField1.Key = strReferenceFieldName; boundField1.Header.Text = dtConfigureReffields.Rows[j]["name"].ToString(); boundField1.DataFieldName = strReferenceFieldName; // ADD COLUMNS this.referenceFieldApprovalQueueUltraWebGrid.Columns.Insert(intOffset, boundField1); intOffset++; } }
To remove column for the grid, add this below code after databind of webdatagrid.
// REMOVE COLUMNS this.WebDataGrid1.Columns.Remove(this.WebDataGrid1.Columns["Ref1"]);