| ... |
| panel.Children.Add(new RadButtonElement() { Text = "RadButtonElement" }); |
| panel.Children.Add(new MyRadButtonElement() { Text = "MyRadButtonElement" }); |
| } |
| class MyRadButtonElement : RadButtonElement |
| { |
| } |
| void Form1_Load(object sender, EventArgs e) |
| { |
| // Create element container to fill form |
| RadPanel elementsContainer = new RadPanel(); |
| this.Controls.Add(elementsContainer); |
| elementsContainer.Dock = DockStyle.Fill; |
| elementsContainer.BeginInit(); |
| elementsContainer.EndInit(); |
| // Create scroll viewer for scrollbar support |
| RadScrollViewer scrollViewer = new RadScrollViewer(); |
| elementsContainer.PanelElement.Children.Add(scrollViewer); |
| // Create panel to stack buttons |
| StackLayoutPanel panel = new StackLayoutPanel(); |
| scrollViewer.Viewport = panel; |
| panel.Orientation = Orientation.Vertical; |
| panel.Children.Add(new RadButtonElement() { Text = "RadButtonElement" }); |
| panel.Children.Add(new MyRadButtonElement() { Text = "MyRadButtonElement" }); |
| } |
| class MyRadButtonElement : RadButtonElement |
| { |
| } |
| RadGridView1.MasterGridViewTemplate.LoadFrom(reader) |
| private void rgvAdserverNetwork_ValueChanged(object sender, EventArgs e) |
| { |
| var cell = sender as GridDataCellElement; |
| if (cell == null || ((GridViewDataColumn)cell.ColumnInfo).FieldName != "Add") return; |
| var viewTemp = cell.ViewTemplate; |
| var tempRow = cell.RowElement; |
| var rowinfo = tempRow.RowInfo; |
| if (!(bool)cell.Value) |
| { |
| //loop the child items to set the checkbox to true |
| loopChilds(rowinfo); |
| rowinfo.Cells["Add"].Value = true; //set the checkbox of the parent to true |
| } |
| } |
| //loop the child items of the given master row |
| private void loopChilds(GridViewRowInfo masterrow) |
| { |
| var childRows = masterrow.ViewTemplate.ChildGridViewTemplates[0].GetChildRows(masterrow); |
| if (childRows == null) return; |
| var length = childRows.Length; |
| var expandedState = masterrow.IsExpanded; |
| masterrow.IsExpanded = true; |
| for (var i = 0; i < length; i++) |
| { |
| childRows[i].Cells["Add"].Value = true; //set the checkbox of the parent to true |
| } |
| masterrow.IsExpanded = expandedState; |
| } |
Starting ToolBox install procedure.
Exception: The language specified is not supported by any of the installed packages.
Stack:
at EnvDTE80.Solution2.GetProjectTemplate(String TemplateName, String Language)
at ToolBoxInstaller.Init(String dteTypeString)
at ToolBoxInstaller..ctor(String currentVersion)
at ToolBoxInstaller.Main(String[] arguments)
Loaded Assemblies
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
ToolBoxInstaller, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
file:///C:/WINDOWS/Installer/MSIDB.tmp
EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
file:///C:/WINDOWS/assembly/GAC/EnvDTE/8.0.0.0__b03f5f7f11d50a3a/EnvDTE.dll
System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
EnvDTE80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
file:///C:/WINDOWS/assembly/GAC/EnvDTE80/8.0.0.0__b03f5f7f11d50a3a/EnvDTE80.dll
| //add columns and relations |
| rgvAdserver.MasterGridViewTemplate.Columns.Add(new GridViewDataColumn { FieldName = "SiteId", HeaderText = "Site Id", HeaderTextAlignment = ContentAlignment.MiddleCenter }); |
| rgvAdserver.MasterGridViewTemplate.Columns.Add(new GridViewDataColumn { FieldName = "SiteName", HeaderText = "Site Name", HeaderTextAlignment = ContentAlignment.MiddleCenter }); |
| var template = new GridViewTemplate { AllowAddNewRow = false, AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill }; |
| template.Columns.Add(new GridViewTextBoxColumn { FieldName = "SiteId", IsVisible = false }); |
| template.Columns.Add(new GridViewTextBoxColumn { FieldName = "ZoneId", HeaderText = "Zone Id", HeaderTextAlignment = ContentAlignment.MiddleCenter }); |
| template.Columns.Add(new GridViewTextBoxColumn { FieldName = "ZoneName", HeaderText = "Zone Name", HeaderTextAlignment = ContentAlignment.MiddleCenter }); |
| var templateAdslot = new GridViewTemplate { AllowAddNewRow = false, AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill }; |
| templateAdslot.Columns.Add(new GridViewDataColumn{FieldName = "ZoneId", IsVisible = false }); |
| templateAdslot.Columns.Add(new GridViewDataColumn{FieldName = "Adslot", HeaderText = "Adslot size", HeaderTextAlignment = ContentAlignment.MiddleCenter }); |
| //add rows template |
| rgvAdserver.MasterGridViewTemplate.ChildGridViewTemplates.Add(template); |
| rgvAdserver.MasterGridViewTemplate.ChildGridViewTemplates.Add(templateAdslot); |
| //create relation between both |
| var relation = new GridViewRelation(rgvAdserver.MasterGridViewTemplate) |
| { |
| ChildTemplate = template, |
| RelationName = "SiteZonesNetwork" |
| }; |
| relation.ParentColumnNames.Add("SiteId"); |
| relation.ChildColumnNames.Add("SiteId"); |
| rgvAdserver.Relations.Add(relation); |
| var relation2 = new GridViewRelation(template) |
| { |
| ChildTemplate = templateAdslot, |
| RelationName = "zoneAdslot" |
| }; |
| relation2.ParentColumnNames.Add("ZoneId"); |
| relation2.ChildColumnNames.Add("ZoneId"); |
| rgvAdserver.Relations.Add(relation2); |
| //add data |
| rgvAdserver.MasterGridViewTemplate.Rows.Clear(); |
| GridViewTemplate template = null; |
| GridViewTemplate templateAdslot = null; |
| foreach(var data in gridData) |
| { |
| rgvAdserver.MasterGridViewTemplate.Rows.Add(new object[] { data.siteid, data.sitename }); |
| template = rgvAdserver.MasterGridViewTemplate.ChildGridViewTemplates[0]; |
| templateAdslot = rgvAdserver.MasterGridViewTemplate.ChildGridViewTemplates[1]; |
| template.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; |
| templateAdslot.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill; |
| foreach(var zone in data.dartzones) |
| { |
| template.Rows.Add(new object[] { data.siteid, zone.zoneid, zone.zonename }); |
| foreach(var adslot in zone.adslots) |
| { |
| templateAdslot.Rows.Add(new object[] { zone.zoneid, adslot.adslotsize }); |
| } |
| } |
| } |