This is a migrated thread and some comments may be shown as answers.

I want to add checkbox at Header of Radgrid [programmatically]

2 Answers 159 Views
Grid
This is a migrated thread and some comments may be shown as answers.
admin
Top achievements
Rank 1
admin asked on 26 Mar 2014, 04:12 AM
Now I create radgrid follow my attach picture.  I want to add checkbox at Header of Radgrid [programmatically] for select all or deselect all each column.
My code is below.

void CreateRadgrid()
{
FindStartDate();  \\ For get date
RefreshGrid();
PlaceHolder1.Controls.Clear();

grid.AutoGenerateColumns = false;
grid.DataSourceID = "SqlDataSource1";
grid.ItemDataBound += new GridItemEventHandler(grid_ItemDataBound);
GridTemplateColumn templateColumn = new GridTemplateColumn();
string templateColumnName = "LINE";
templateColumn.ItemTemplate = new MyTemplate(templateColumnName);
templateColumn.DataField = templateColumnName;
templateColumn.UniqueName = templateColumnName;
templateColumn.HeaderText = templateColumnName;
templateColumn.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumn.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumn.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumn);

grid.AllowPaging = false;
grid.Skin = "Sunset";
//1 Monday
GridColumnGroup columnGroup = new GridColumnGroup();
columnGroup.HeaderText = tHeadDay1;
columnGroup.Name = "GRP_MON";
columnGroup.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup);
GridTemplateColumn templateColumnD_MON = new GridTemplateColumn();
string templateColumnD_MON_Name = "D_1";
templateColumnD_MON.ItemTemplate = new MyTemplate(templateColumnD_MON_Name);
templateColumnD_MON.DataField = templateColumnD_MON_Name;
templateColumnD_MON.UniqueName = templateColumnD_MON_Name;
templateColumnD_MON.HeaderText = "Day";
templateColumnD_MON.ColumnGroupName = "GRP_MON";
templateColumnD_MON.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_MON.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_MON.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_MON.HeaderStyle.VerticalAlign = VerticalAlign.Middle;

grid.MasterTableView.Columns.Add(templateColumnD_MON);
GridTemplateColumn templateColumnDO_MON = new GridTemplateColumn();
string templateColumnDO_MON_Name = "DO_1";
templateColumnDO_MON.ItemTemplate = new MyTemplate(templateColumnDO_MON_Name);
templateColumnDO_MON.DataField = templateColumnDO_MON_Name;
templateColumnDO_MON.UniqueName = templateColumnDO_MON_Name;
templateColumnDO_MON.HeaderText = "Day OT";
templateColumnDO_MON.ColumnGroupName = "GRP_MON";
templateColumnDO_MON.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_MON.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_MON.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_MON.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_MON);
GridTemplateColumn templateColumnN_MON = new GridTemplateColumn();
string templateColumnN_MON_Name = "N_1";
templateColumnN_MON.ItemTemplate = new MyTemplate(templateColumnN_MON_Name);
templateColumnN_MON.DataField = templateColumnN_MON_Name;
templateColumnN_MON.UniqueName = templateColumnN_MON_Name;
templateColumnN_MON.HeaderText = "Night";
templateColumnN_MON.ColumnGroupName = "GRP_MON";
templateColumnN_MON.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_MON.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_MON.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_MON.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_MON);
GridTemplateColumn templateColumnNO_MON = new GridTemplateColumn();
string templateColumnNO_MON_Name = "NO_1";
templateColumnNO_MON.ItemTemplate = new MyTemplate(templateColumnNO_MON_Name);
templateColumnNO_MON.DataField = templateColumnNO_MON_Name;
templateColumnNO_MON.UniqueName = templateColumnNO_MON_Name;
templateColumnNO_MON.HeaderText = "Night OT";
templateColumnNO_MON.ColumnGroupName = "GRP_MON";
templateColumnNO_MON.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_MON.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_MON.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_MON.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_MON);

//2 Tuesday
GridColumnGroup columnGroup2 = new GridColumnGroup();
columnGroup2.HeaderText = tHeadDay2;
columnGroup2.Name = "GRP_TUE";
columnGroup2.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup2.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup2);
GridTemplateColumn templateColumnD_TUE = new GridTemplateColumn();
string templateColumnD_TUE_Name = "D_2";
templateColumnD_TUE.ItemTemplate = new MyTemplate(templateColumnD_TUE_Name);
templateColumnD_TUE.DataField = templateColumnD_TUE_Name;
templateColumnD_TUE.UniqueName = templateColumnD_TUE_Name;
templateColumnD_TUE.HeaderText = "Day";
templateColumnD_TUE.ColumnGroupName = "GRP_TUE";
templateColumnD_TUE.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_TUE.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_TUE.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_TUE.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnD_TUE);
GridTemplateColumn templateColumnDO_TUE = new GridTemplateColumn();
string templateColumnDO_TUE_Name = "DO_2";
templateColumnDO_TUE.ItemTemplate = new MyTemplate(templateColumnDO_TUE_Name);
templateColumnDO_TUE.DataField = templateColumnDO_TUE_Name;
templateColumnDO_TUE.UniqueName = templateColumnDO_TUE_Name;
templateColumnDO_TUE.HeaderText = "Day OT";
templateColumnDO_TUE.ColumnGroupName = "GRP_TUE";
templateColumnDO_TUE.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_TUE.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_TUE.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_TUE.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_TUE);
GridTemplateColumn templateColumnN_TUE = new GridTemplateColumn();
string templateColumnN_TUE_Name = "N_2";
templateColumnN_TUE.ItemTemplate = new MyTemplate(templateColumnN_TUE_Name);
templateColumnN_TUE.DataField = templateColumnN_TUE_Name;
templateColumnN_TUE.UniqueName = templateColumnN_TUE_Name;
templateColumnN_TUE.HeaderText = "Night";
templateColumnN_TUE.ColumnGroupName = "GRP_TUE";
templateColumnN_TUE.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_TUE.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_TUE.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_TUE.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_TUE);
GridTemplateColumn templateColumnNO_TUE = new GridTemplateColumn();
string templateColumnNO_TUE_Name = "NO_2";
templateColumnNO_TUE.ItemTemplate = new MyTemplate(templateColumnNO_TUE_Name);
templateColumnNO_TUE.DataField = templateColumnNO_TUE_Name;
templateColumnNO_TUE.UniqueName = templateColumnNO_TUE_Name;
templateColumnNO_TUE.HeaderText = "Night OT";
templateColumnNO_TUE.ColumnGroupName = "GRP_TUE";
templateColumnNO_TUE.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_TUE.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_TUE.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_TUE.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_TUE);
//3 Wednesday
GridColumnGroup columnGroup3 = new GridColumnGroup();
columnGroup3.HeaderText = tHeadDay3;
columnGroup3.Name = "GRP_WED";
columnGroup3.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup3.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup3);
GridTemplateColumn templateColumnD_WED = new GridTemplateColumn();
string templateColumnD_WED_Name = "D_3";
templateColumnD_WED.ItemTemplate = new MyTemplate(templateColumnD_WED_Name);
templateColumnD_WED.DataField = templateColumnD_WED_Name;
templateColumnD_WED.UniqueName = templateColumnD_WED_Name;
templateColumnD_WED.HeaderText = "Day";
templateColumnD_WED.ColumnGroupName = "GRP_WED";
templateColumnD_WED.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_WED.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_WED.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_WED.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
//templateColumnD_WED.HeaderTemplate = new MyHeaderTemplate(templateColumnD_WED_Name);
grid.MasterTableView.Columns.Add(templateColumnD_WED);
GridTemplateColumn templateColumnDO_WED = new GridTemplateColumn();
string templateColumnDO_WED_Name = "DO_3";
templateColumnDO_WED.ItemTemplate = new MyTemplate(templateColumnDO_WED_Name);
templateColumnDO_WED.DataField = templateColumnDO_WED_Name;
templateColumnDO_WED.UniqueName = templateColumnDO_WED_Name;
templateColumnDO_WED.HeaderText = "Day OT";
templateColumnDO_WED.ColumnGroupName = "GRP_WED";
templateColumnDO_WED.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_WED.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_WED.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_WED.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
//templateColumnDO_WED.HeaderTemplate = new MyHeaderTemplate(templateColumnDO_WED_Name);
grid.MasterTableView.Columns.Add(templateColumnDO_WED);
GridTemplateColumn templateColumnN_WED = new GridTemplateColumn();
string templateColumnN_WED_Name = "N_3";
templateColumnN_WED.ItemTemplate = new MyTemplate(templateColumnN_WED_Name);
templateColumnN_WED.DataField = templateColumnN_WED_Name;
templateColumnN_WED.UniqueName = templateColumnN_WED_Name;
templateColumnN_WED.HeaderText = "Night";
templateColumnN_WED.ColumnGroupName = "GRP_WED";
templateColumnN_WED.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_WED.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_WED.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_WED.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
//templateColumnN_WED.HeaderTemplate = new MyHeaderTemplate(templateColumnN_WED_Name);

grid.MasterTableView.Columns.Add(templateColumnN_WED);
GridTemplateColumn templateColumnNO_WED = new GridTemplateColumn();
string templateColumnNO_WED_Name = "NO_3";
templateColumnNO_WED.ItemTemplate = new MyTemplate(templateColumnNO_WED_Name);
templateColumnNO_WED.DataField = templateColumnNO_WED_Name;
templateColumnNO_WED.UniqueName = templateColumnNO_WED_Name;
templateColumnNO_WED.HeaderText = "Night OT";
templateColumnNO_WED.ColumnGroupName = "GRP_WED";
templateColumnNO_WED.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_WED.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_WED.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_WED.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
//templateColumnNO_WED.HeaderTemplate = new MyHeaderTemplate(templateColumnNO_WED_Name);
grid.MasterTableView.Columns.Add(templateColumnNO_WED);
//4 Thursday
GridColumnGroup columnGroup4 = new GridColumnGroup();
columnGroup4.HeaderText = tHeadDay4;
columnGroup4.Name = "GRP_THU";
columnGroup4.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup4.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup4);
GridTemplateColumn templateColumnD_THU = new GridTemplateColumn();
string templateColumnD_THU_Name = "D_4";
templateColumnD_THU.ItemTemplate = new MyTemplate(templateColumnD_THU_Name);
templateColumnD_THU.DataField = templateColumnD_THU_Name;
templateColumnD_THU.UniqueName = templateColumnD_THU_Name;
templateColumnD_THU.HeaderText = "Day";
templateColumnD_THU.ColumnGroupName = "GRP_THU";
templateColumnD_THU.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_THU.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_THU.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_THU.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnD_THU);
GridTemplateColumn templateColumnDO_THU = new GridTemplateColumn();
string templateColumnDO_THU_Name = "DO_4";
templateColumnDO_THU.ItemTemplate = new MyTemplate(templateColumnDO_THU_Name);
templateColumnDO_THU.DataField = templateColumnDO_THU_Name;
templateColumnDO_THU.UniqueName = templateColumnDO_THU_Name;
templateColumnDO_THU.HeaderText = "Day OT";
templateColumnDO_THU.ColumnGroupName = "GRP_THU";
templateColumnDO_THU.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_THU.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_THU.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_THU.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_THU);
GridTemplateColumn templateColumnN_THU = new GridTemplateColumn();
string templateColumnN_THU_Name = "N_4";
templateColumnN_THU.ItemTemplate = new MyTemplate(templateColumnN_THU_Name);
templateColumnN_THU.DataField = templateColumnN_THU_Name;
templateColumnN_THU.UniqueName = templateColumnN_THU_Name;
templateColumnN_THU.HeaderText = "Night";
templateColumnN_THU.ColumnGroupName = "GRP_THU";
templateColumnN_THU.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_THU.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_THU.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_THU.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_THU);
GridTemplateColumn templateColumnNO_THU = new GridTemplateColumn();
string templateColumnNO_THU_Name = "NO_4";
templateColumnNO_THU.ItemTemplate = new MyTemplate(templateColumnNO_THU_Name);
templateColumnNO_THU.DataField = templateColumnNO_THU_Name;
templateColumnNO_THU.UniqueName = templateColumnNO_THU_Name;
templateColumnNO_THU.HeaderText = "Night OT";
templateColumnNO_THU.ColumnGroupName = "GRP_THU";
templateColumnNO_THU.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_THU.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_THU.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_THU.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_THU);
//5 Friday
GridColumnGroup columnGroup5 = new GridColumnGroup();
columnGroup5.HeaderText = tHeadDay5;
columnGroup5.Name = "GRP_FRI";
columnGroup5.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup5.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup5);
GridTemplateColumn templateColumnD_FRI = new GridTemplateColumn();
string templateColumnD_FRI_Name = "D_5";
templateColumnD_FRI.ItemTemplate = new MyTemplate(templateColumnD_FRI_Name);
templateColumnD_FRI.DataField = templateColumnD_FRI_Name;
templateColumnD_FRI.UniqueName = templateColumnD_FRI_Name;
templateColumnD_FRI.HeaderText = "Day";
templateColumnD_FRI.ColumnGroupName = "GRP_FRI";
templateColumnD_FRI.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_FRI.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_FRI.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_FRI.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnD_FRI);
GridTemplateColumn templateColumnDO_FRI = new GridTemplateColumn();
string templateColumnDO_FRI_Name = "DO_5";
templateColumnDO_FRI.ItemTemplate = new MyTemplate(templateColumnDO_FRI_Name);
templateColumnDO_FRI.DataField = templateColumnDO_FRI_Name;
templateColumnDO_FRI.UniqueName = templateColumnDO_FRI_Name;
templateColumnDO_FRI.HeaderText = "Day OT";
templateColumnDO_FRI.ColumnGroupName = "GRP_FRI";
templateColumnDO_FRI.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_FRI.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_FRI.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_FRI.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_FRI);
GridTemplateColumn templateColumnN_FRI = new GridTemplateColumn();
string templateColumnN_FRI_Name = "N_5";
templateColumnN_FRI.ItemTemplate = new MyTemplate(templateColumnN_FRI_Name);
templateColumnN_FRI.DataField = templateColumnN_FRI_Name;
templateColumnN_FRI.UniqueName = templateColumnN_FRI_Name;
templateColumnN_FRI.HeaderText = "Night";
templateColumnN_FRI.ColumnGroupName = "GRP_FRI";
templateColumnN_FRI.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_FRI.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_FRI.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_FRI.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_FRI);
GridTemplateColumn templateColumnNO_FRI = new GridTemplateColumn();
string templateColumnNO_FRI_Name = "NO_5";
templateColumnNO_FRI.ItemTemplate = new MyTemplate(templateColumnNO_FRI_Name);
templateColumnNO_FRI.DataField = templateColumnNO_FRI_Name;
templateColumnNO_FRI.UniqueName = templateColumnNO_FRI_Name;
templateColumnNO_FRI.HeaderText = "Night OT";
templateColumnNO_FRI.ColumnGroupName = "GRP_FRI";
templateColumnNO_FRI.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_FRI.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_FRI.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_FRI.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_FRI);
//6 Saturday
GridColumnGroup columnGroup6 = new GridColumnGroup();
columnGroup6.HeaderText = tHeadDay6;
columnGroup6.Name = "GRP_SAT";
columnGroup6.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup6.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup6);
GridTemplateColumn templateColumnD_SAT = new GridTemplateColumn();
string templateColumnD_SAT_Name = "D_6";
templateColumnD_SAT.ItemTemplate = new MyTemplate(templateColumnD_SAT_Name);
templateColumnD_SAT.DataField = templateColumnD_SAT_Name;
templateColumnD_SAT.UniqueName = templateColumnD_SAT_Name;
templateColumnD_SAT.HeaderText = "Day";
templateColumnD_SAT.ColumnGroupName = "GRP_SAT";
templateColumnD_SAT.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_SAT.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_SAT.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_SAT.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnD_SAT);
GridTemplateColumn templateColumnDO_SAT = new GridTemplateColumn();
string templateColumnDO_SAT_Name = "DO_6";
templateColumnDO_SAT.ItemTemplate = new MyTemplate(templateColumnDO_SAT_Name);
templateColumnDO_SAT.DataField = templateColumnDO_SAT_Name;
templateColumnDO_SAT.UniqueName = templateColumnDO_SAT_Name;
templateColumnDO_SAT.HeaderText = "Day OT";
templateColumnDO_SAT.ColumnGroupName = "GRP_SAT";
templateColumnDO_SAT.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_SAT.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_SAT.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_SAT.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_SAT);
GridTemplateColumn templateColumnN_SAT = new GridTemplateColumn();
string templateColumnN_SAT_Name = "N_6";
templateColumnN_SAT.ItemTemplate = new MyTemplate(templateColumnN_SAT_Name);
templateColumnN_SAT.DataField = templateColumnN_SAT_Name;
templateColumnN_SAT.UniqueName = templateColumnN_SAT_Name;
templateColumnN_SAT.HeaderText = "Night";
templateColumnN_SAT.ColumnGroupName = "GRP_SAT";
templateColumnN_SAT.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_SAT.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_SAT.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_SAT.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_SAT);
GridTemplateColumn templateColumnNO_SAT = new GridTemplateColumn();
string templateColumnNO_SAT_Name = "NO_6";
templateColumnNO_SAT.ItemTemplate = new MyTemplate(templateColumnNO_SAT_Name);
templateColumnNO_SAT.DataField = templateColumnNO_SAT_Name;
templateColumnNO_SAT.UniqueName = templateColumnNO_SAT_Name;
templateColumnNO_SAT.HeaderText = "Night OT";
templateColumnNO_SAT.ColumnGroupName = "GRP_SAT";
templateColumnNO_SAT.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_SAT.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_SAT.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_SAT.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_SAT);
//7 Sunday
GridColumnGroup columnGroup7 = new GridColumnGroup();
columnGroup7.HeaderText = tHeadDay7;
columnGroup7.Name = "GRP_SUN";
columnGroup7.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
columnGroup7.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.ColumnGroups.Add(columnGroup7);
GridTemplateColumn templateColumnD_SUN = new GridTemplateColumn();
string templateColumnD_SUN_Name = "D_7";
templateColumnD_SUN.ItemTemplate = new MyTemplate(templateColumnD_SUN_Name);
templateColumnD_SUN.DataField = templateColumnD_SUN_Name;
templateColumnD_SUN.UniqueName = templateColumnD_SUN_Name;
templateColumnD_SUN.HeaderText = "Day";
templateColumnD_SUN.ColumnGroupName = "GRP_SUN";
templateColumnD_SUN.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_SUN.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnD_SUN.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnD_SUN.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnD_SUN);
GridTemplateColumn templateColumnDO_SUN = new GridTemplateColumn();
string templateColumnDO_SUN_Name = "DO_7";
templateColumnDO_SUN.ItemTemplate = new MyTemplate(templateColumnDO_SUN_Name);
templateColumnDO_SUN.DataField = templateColumnDO_SUN_Name;
templateColumnDO_SUN.UniqueName = templateColumnDO_SUN_Name;
templateColumnDO_SUN.HeaderText = "Day OT";
templateColumnDO_SUN.ColumnGroupName = "GRP_SUN";
templateColumnDO_SUN.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_SUN.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnDO_SUN.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnDO_SUN.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnDO_SUN);
GridTemplateColumn templateColumnN_SUN = new GridTemplateColumn();
string templateColumnN_SUN_Name = "N_7";
templateColumnN_SUN.ItemTemplate = new MyTemplate(templateColumnN_SUN_Name);
templateColumnN_SUN.DataField = templateColumnN_SUN_Name;
templateColumnN_SUN.UniqueName = templateColumnN_SUN_Name;
templateColumnN_SUN.HeaderText = "Night";
templateColumnN_SUN.ColumnGroupName = "GRP_SUN";
templateColumnN_SUN.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_SUN.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnN_SUN.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnN_SUN.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnN_SUN);
GridTemplateColumn templateColumnNO_SUN = new GridTemplateColumn();
string templateColumnNO_SUN_Name = "NO_7";
templateColumnNO_SUN.ItemTemplate = new MyTemplate(templateColumnNO_SUN_Name);
templateColumnNO_SUN.DataField = templateColumnNO_SUN_Name;
templateColumnNO_SUN.UniqueName = templateColumnNO_SUN_Name;
templateColumnNO_SUN.HeaderText = "Night OT";
templateColumnNO_SUN.ColumnGroupName = "GRP_SUN";
templateColumnNO_SUN.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_SUN.ItemStyle.VerticalAlign = VerticalAlign.Middle;
templateColumnNO_SUN.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
templateColumnNO_SUN.HeaderStyle.VerticalAlign = VerticalAlign.Middle;
grid.MasterTableView.Columns.Add(templateColumnNO_SUN);
PlaceHolder1.Controls.Add(grid);
}

private class MyTemplate : ITemplate
{
protected Label lblLine;
private string colname;
public MyTemplate(string cName)
{
colname = cName;
}

public void InstantiateIn(System.Web.UI.Control container)
{
if (colname == "LINE")
{

lblLine = new Label();
lblLine.ID = "lblLine";
lblLine.DataBinding += new EventHandler(lblLine_DataBinding);
container.Controls.Add(lblLine);
}
else if (colname.Substring(0, 1) == "D" || colname.Substring(0, 1) == "N")
{
CheckBox tmpChkBox = new CheckBox();
tmpChkBox.ID = "chk" + colname;
container.Controls.Add(tmpChkBox);
tmpChkBox.DataBinding += new EventHandler(tmpChkBox_DataBinding);
}

}
void lblLine_DataBinding(object sender, EventArgs e)
{
Label lbl = (Label)sender;
GridDataItem container = (GridDataItem)lbl.NamingContainer;
lbl.Text = ((System.Data.DataRowView)container.DataItem)[colname].ToString();
}
void tmpChkBox_DataBinding(object sender, EventArgs e)
{
CheckBox tmp = (CheckBox)sender;
GridDataItem container = (GridDataItem)tmp.NamingContainer;
string tmpOT = ((System.Data.DataRowView)container.DataItem)[colname].ToString();
if (tmpOT == "A" || tmpOT == "B")
{
tmp.Checked = true;
}
else
{
tmp.Checked = false;
}
}
}

Regard,
Tanawat Yongpumputta

2 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 26 Mar 2014, 06:50 AM
Hi,

Please try the following code snippet to have a header checkbox to select all rows.

C#:
protected void Page_Init(object source, System.EventArgs e)
{
   // Code to create Radgrid
  // Code to create HeaderTemplate and ItemTemplate with CheckBox
    string templateColumnName = "Check";
    GridTemplateColumn templateColumn = new GridTemplateColumn();
    templateColumn.ItemTemplate = new MyTemplate(templateColumnName,RadGrid1);
    templateColumn.HeaderTemplate = new MyHeaderTemplate(templateColumnName, RadGrid1);
    templateColumn.HeaderText = templateColumnName;  
    RadGrid1.MasterTableView.Columns.Add(templateColumn);
}
 
private class MyTemplate : ITemplate
{
    protected CheckBox ItemCheckBox;
    private string colname ;
    RadGrid RadGrid1;
    public MyTemplate(string cName, RadGrid grid)
    {
        colname = cName;
        RadGrid1 = grid;
    }
    public void InstantiateIn(System.Web.UI.Control container)
    {
        ItemCheckBox = new CheckBox();
        ItemCheckBox.ID = "CheckBox1";
        ItemCheckBox.AutoPostBack = true;
        ItemCheckBox.CheckedChanged += new EventHandler(boolValue_CheckedChanged);
        container.Controls.Add(ItemCheckBox);
    }
 
    void boolValue_CheckedChanged(object sender, EventArgs e)
    {
        ((sender as CheckBox).NamingContainer as GridItem).Selected = (sender as CheckBox).Checked;
        bool checkHeader = true;
        foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
        {
            if (!(dataItem.FindControl("CheckBox1") as CheckBox).Checked)
            {
                checkHeader = false;
                break;
            }
        }
        GridHeaderItem headerItem = RadGrid1.MasterTableView.GetItems(GridItemType.Header)[0] as GridHeaderItem;
        (headerItem.FindControl("headerChkbox") as CheckBox).Checked = checkHeader;
    
}
private class MyHeaderTemplate : ITemplate
{
    protected CheckBox HeaderCheckBox;
    private string colname;
    RadGrid RadGrid1;
    public MyHeaderTemplate(string cName, RadGrid grid)
    {
        colname = cName;
        RadGrid1 = grid;
    }
    public void InstantiateIn(System.Web.UI.Control container)
    {
        HeaderCheckBox = new CheckBox();
        HeaderCheckBox.ID = "headerChkbox";
        HeaderCheckBox.AutoPostBack = true;
        HeaderCheckBox.CheckedChanged += new EventHandler(boolValue_CheckedChanged);
        container.Controls.Add(HeaderCheckBox);
    }
 
    void boolValue_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox headerCheckBox = (sender as CheckBox);
        foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
        {
            (dataItem.FindControl("CheckBox1") as CheckBox).Checked = headerCheckBox.Checked;
            dataItem.Selected = headerCheckBox.Checked;
        }
    }
}

Thanks,
Princy
0
admin
Top achievements
Rank 1
answered on 27 Mar 2014, 02:12 AM
Thank you for your help. Now I was able to get this working.

Thank you very much
Tanawat. 
Tags
Grid
Asked by
admin
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
admin
Top achievements
Rank 1
Share this question
or