I have a grid with a large number of columns. I would like to customize the headercontextmenu to show/hide groups of columns rather than having to select individual columns in the default. I haven't gotten very far, but the small code sample below will give an indication of what I'm trying to do. If someone has tackled this before, I would appreciate it if you could point me in the right direction.
void HeaderContextMenu_PreRender(object sender, EventArgs e)
{
RadContextMenu menu = RadGrid1.HeaderContextMenu;
RadMenuItem showColumnGroup1 = new RadMenuItem();
showColumnGroup1.Text = "Show Group 1";
showColumnGroup1.Attributes["ColumnName"] = string.Empty;
showColumnGroup1.Attributes["TableID"] = string.Empty;
showColumnGroup1.PostBack = true;
showColumnGroup1.Visible = false;
menu.Items.Add(showColumnGroup1);
RadMenuItem hideColumnGroup1 = new RadMenuItem();
hideColumnGroup1.Text = "Hide Group 1";
hideColumnGroup1.Attributes["ColumnName"] = string.Empty;
hideColumnGroup1.Attributes["TableID"] = string.Empty;
hideColumnGroup1.PostBack = true;
menu.Items.Add(hideColumnGroup1);
RadMenuItem showColumnGroup2 = new RadMenuItem();
showColumnGroup2.Text = "Show Group 2";
showColumnGroup2.Attributes["ColumnName"] = string.Empty;
showColumnGroup2.Attributes["TableID"] = string.Empty;
showColumnGroup2.PostBack = true;
showColumnGroup2.Visible = false;
menu.Items.Add(showColumnGroup2);
RadMenuItem hideColumnGroup2 = new RadMenuItem();
hideColumnGroup2.Text = "Hide Group 2";
hideColumnGroup2.Attributes["ColumnName"] = string.Empty;
hideColumnGroup2.Attributes["TableID"] = string.Empty;
hideColumnGroup2.PostBack = true;
menu.Items.Add(hideColumnGroup2);
...
void HeaderContextMenu_PreRender(object sender, EventArgs e)
{
RadContextMenu menu = RadGrid1.HeaderContextMenu;
RadMenuItem showColumnGroup1 = new RadMenuItem();
showColumnGroup1.Text = "Show Group 1";
showColumnGroup1.Attributes["ColumnName"] = string.Empty;
showColumnGroup1.Attributes["TableID"] = string.Empty;
showColumnGroup1.PostBack = true;
showColumnGroup1.Visible = false;
menu.Items.Add(showColumnGroup1);
RadMenuItem hideColumnGroup1 = new RadMenuItem();
hideColumnGroup1.Text = "Hide Group 1";
hideColumnGroup1.Attributes["ColumnName"] = string.Empty;
hideColumnGroup1.Attributes["TableID"] = string.Empty;
hideColumnGroup1.PostBack = true;
menu.Items.Add(hideColumnGroup1);
RadMenuItem showColumnGroup2 = new RadMenuItem();
showColumnGroup2.Text = "Show Group 2";
showColumnGroup2.Attributes["ColumnName"] = string.Empty;
showColumnGroup2.Attributes["TableID"] = string.Empty;
showColumnGroup2.PostBack = true;
showColumnGroup2.Visible = false;
menu.Items.Add(showColumnGroup2);
RadMenuItem hideColumnGroup2 = new RadMenuItem();
hideColumnGroup2.Text = "Hide Group 2";
hideColumnGroup2.Attributes["ColumnName"] = string.Empty;
hideColumnGroup2.Attributes["TableID"] = string.Empty;
hideColumnGroup2.PostBack = true;
menu.Items.Add(hideColumnGroup2);
...