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
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