
private void radTreeView_Editing(object sender, TreeNodeEditingEventArgs e){ if (e.Node.Text == "abc") { e.Node.CancelEdit(); }}I create tree with nodes like in example. When I use scroll on mouse for scrolling up and down Node18 state changed from checked to unchecked and back on GUI. When Nodes18 state is unchecked and I select any node, Node18 state changed to checked on GUI. This is easy to reproduce. I use 2013 Q1 SP1. This code was generated by VS automatically.
How do you suggest resolving this?
Code example:
private void InitializeComponent(){ Telerik.WinControls.UI.RadTreeNode radTreeNode1 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode2 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode3 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode4 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode5 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode6 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode7 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode8 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode9 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode10 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode11 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode12 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode13 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode14 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode15 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode16 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode17 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode18 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode19 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode20 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode21 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode22 = new Telerik.WinControls.UI.RadTreeNode(); Telerik.WinControls.UI.RadTreeNode radTreeNode23 = new Telerik.WinControls.UI.RadTreeNode(); this.radTreeView1 = new Telerik.WinControls.UI.RadTreeView(); ((System.ComponentModel.ISupportInitialize)(this.radTreeView1)).BeginInit(); this.SuspendLayout(); // // radTreeView1 // this.radTreeView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.radTreeView1.BackColor = System.Drawing.SystemColors.Control; this.radTreeView1.Cursor = System.Windows.Forms.Cursors.Default; this.radTreeView1.Font = new System.Drawing.Font("Segoe UI", 8.25F); this.radTreeView1.ForeColor = System.Drawing.Color.Black; this.radTreeView1.Location = new System.Drawing.Point(12, 12); this.radTreeView1.Name = "radTreeView1"; radTreeNode1.Expanded = true; radTreeNode1.Name = "Node1"; radTreeNode2.Name = "Node2"; radTreeNode2.Text = "Node2"; radTreeNode3.Name = "Node3"; radTreeNode3.Text = "Node3"; radTreeNode4.Name = "Node4"; radTreeNode4.Text = "Node4"; radTreeNode5.Name = "Node5"; radTreeNode5.Text = "Node5"; radTreeNode6.Name = "Node6"; radTreeNode6.Text = "Node6"; radTreeNode7.Name = "Node7"; radTreeNode7.Text = "Node7"; radTreeNode8.Name = "Node8"; radTreeNode8.Text = "Node8"; radTreeNode9.Name = "Node9"; radTreeNode9.Text = "Node9"; radTreeNode10.Name = "Node10"; radTreeNode10.Text = "Node10"; radTreeNode11.Name = "Node11"; radTreeNode11.Text = "Node11"; radTreeNode12.Name = "Node12"; radTreeNode12.Text = "Node12"; radTreeNode13.Name = "Node13"; radTreeNode13.Text = "Node13"; radTreeNode14.Name = "Node14"; radTreeNode14.Text = "Node14"; radTreeNode15.Name = "Node15"; radTreeNode15.Text = "Node15"; radTreeNode1.Nodes.AddRange(new Telerik.WinControls.UI.RadTreeNode[] { radTreeNode2, radTreeNode3, radTreeNode4, radTreeNode5, radTreeNode6, radTreeNode7, radTreeNode8, radTreeNode9, radTreeNode10, radTreeNode11, radTreeNode12, radTreeNode13, radTreeNode14, radTreeNode15}); radTreeNode1.Text = "Node1"; radTreeNode16.Expanded = true; radTreeNode16.Name = "Node16"; radTreeNode17.CheckType = Telerik.WinControls.UI.CheckType.RadioButton; radTreeNode17.Name = "Node17"; radTreeNode17.Text = "Node17"; radTreeNode18.CheckState = Telerik.WinControls.Enumerations.ToggleState.Indeterminate; radTreeNode18.CheckType = Telerik.WinControls.UI.CheckType.RadioButton; radTreeNode18.Expanded = true; radTreeNode18.Name = "Node18"; radTreeNode19.CheckType = Telerik.WinControls.UI.CheckType.CheckBox; radTreeNode19.Name = "Node19"; radTreeNode19.Text = "Node19"; radTreeNode20.CheckType = Telerik.WinControls.UI.CheckType.CheckBox; radTreeNode20.Name = "Node20"; radTreeNode20.Text = "Node20"; radTreeNode21.CheckType = Telerik.WinControls.UI.CheckType.CheckBox; radTreeNode21.Name = "Node21"; radTreeNode21.Text = "Node21"; radTreeNode22.CheckType = Telerik.WinControls.UI.CheckType.CheckBox; radTreeNode22.Name = "Node22"; radTreeNode22.Text = "Node22"; radTreeNode23.CheckType = Telerik.WinControls.UI.CheckType.CheckBox; radTreeNode23.Name = "Node23"; radTreeNode23.Text = "Node23"; radTreeNode18.Nodes.AddRange(new Telerik.WinControls.UI.RadTreeNode[] { radTreeNode19, radTreeNode20, radTreeNode21, radTreeNode22, radTreeNode23}); radTreeNode18.Text = "Node18"; radTreeNode16.Nodes.AddRange(new Telerik.WinControls.UI.RadTreeNode[] { radTreeNode17, radTreeNode18}); radTreeNode16.Text = "Node16"; this.radTreeView1.Nodes.AddRange(new Telerik.WinControls.UI.RadTreeNode[] { radTreeNode1, radTreeNode16}); this.radTreeView1.RightToLeft = System.Windows.Forms.RightToLeft.No; this.radTreeView1.Size = new System.Drawing.Size(260, 238); this.radTreeView1.SpacingBetweenNodes = -1; this.radTreeView1.TabIndex = 0; this.radTreeView1.Text = "radTreeView1"; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(284, 262); this.Controls.Add(this.radTreeView1); this.Name = "Form1"; this.Text = "Form1"; ((System.ComponentModel.ISupportInitialize)(this.radTreeView1)).EndInit(); this.ResumeLayout(false);}private Telerik.WinControls.UI.RadTreeView radTreeView1;
UPDATE : This causes for node18 because it set as
radTreeNode18.CheckState = Telerik.WinControls.Enumerations.ToggleState.Indeterminate;
private RadGridView radGridView1;private GridViewSummaryItem summaryItem1ï¼›
private void LoadData()
{
tbladapter.fillbydate(ds.tbla,begindate,enddate);
summaryItem1 = new GridViewSummaryItem("Id", "Sum of Id: {0}", GridAggregateFunction.Sum);
var summaryRow1 = new GridViewSummaryRowItem(new[] {summaryItem1});
//if I add onece the radgridview can't display in 299 recordset
radGridView1.SummaryRowsBottom.Add(summaryRow1);
//if I add two same method the radgridview can display summary ok
radGridView1.SummaryRowsBottom.Add(summaryRow1);
}Hello,
I have a gridview which display workitemdata. The columns are "The client", "The service contract", "The Employee", "The Date", "Hours", "Description", "price hour" and "Value (price hour * hours). The client, service contract and employee are ID value not string.
I have made a three level grouping on Client, service contract and Employee.
I have added a summary row for displaying the total of Value by group and an Handler on GroupSummaryEvaluate for displaying an human readable string instead of ID.
But I'm stuck on these problems:
I join two picture (GroupSummaryEvaluate active/not active) and some code.
Imports System.Data.ObjectsImports Telerik.WinControls.UIImports Telerik.WinControls.DataPublic Class View_ValorisationTravail Private _datactx As IconEntities Public ReadOnly Property InnerDataContext As IconEntities Get Return _datactx End Get End Property Private _dataquery As ObjectQuery(Of Travail) Public Property DataQuery As ObjectQuery(Of Travail) Get Return _dataquery End Get Set(value As ObjectQuery(Of Travail)) If _dataquery Is Nothing AndAlso value IsNot Nothing Then _dataquery = value OnDataqueryChanged() End If If Not _dataquery.Equals(value) Then _dataquery = value OnDataqueryChanged() End If End Set End Property Private Sub View_ValorisationTravail_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Me.DesignMode Then _datactx = New IconEntities(GetConnection()) 'Temporaire en attendant les filtres Me.DataQuery = GenerateDataQuery() End If IntitialiseGroupValorisationTravaux(Me.RadGridView1) Dim summaryItem As New GridViewSummaryItem("Valeur", "{0:N2} CHF", GridAggregateFunction.Sum) Dim summaryItemLabel As New GridViewSummaryItem("CHFparheure", "TOTAL", GridAggregateFunction.Sum) Dim summaryRowItem As New GridViewSummaryRowItem() summaryRowItem.Add(summaryItem) summaryRowItem.Add(summaryItemLabel) Me.RadGridView1.SummaryRowsBottom.Add(summaryRowItem) Me.RadGridView1.MasterTemplate.ShowParentGroupSummaries = True End Sub Private Sub OnDataqueryChanged() Me.RadGridView1.DataSource = DataQuery.Execute(MergeOption.OverwriteChanges).ToList End Sub ''' <summary> ''' Generating an ObjectQuery for test purpose ''' </summary> ''' <returns></returns> ''' <remarks></remarks> Private Function GenerateDataQuery() As ObjectQuery(Of Travail) Dim query = From c In _datactx.Travail Select c Return query End Function Private GroupClientDescriptor As GroupDescriptor Private GroupPrestationDescriptor As GroupDescriptor Private GroupCollaborateurDescriptor As GroupDescriptor ''' <summary> ''' Build the group ''' </summary> ''' <param name="aGridView"></param> ''' <remarks></remarks> Private Sub IntitialiseGroupValorisationTravaux(aGridView As RadGridView) aGridView.EnableGrouping = True aGridView.AutoExpandGroups = True aGridView.GroupDescriptors.Clear() Dim SortClientDescriptor As New SortDescriptor("Client", System.ComponentModel.ListSortDirection.Ascending) GroupClientDescriptor = New GroupDescriptor() GroupClientDescriptor.GroupNames.AddRange(New Telerik.WinControls.Data.SortDescriptor() {SortClientDescriptor}) Dim SortPrestationDescriptor As New SortDescriptor("Prestation", System.ComponentModel.ListSortDirection.Ascending) GroupPrestationDescriptor = New GroupDescriptor() GroupPrestationDescriptor.GroupNames.AddRange(New Telerik.WinControls.Data.SortDescriptor() {SortPrestationDescriptor}) Dim SortCollaborateurDescriptor As New SortDescriptor("Collaborateur", System.ComponentModel.ListSortDirection.Ascending) GroupCollaborateurDescriptor = New GroupDescriptor() GroupCollaborateurDescriptor.GroupNames.AddRange(New Telerik.WinControls.Data.SortDescriptor() {SortCollaborateurDescriptor}) aGridView.GroupDescriptors.AddRange(New Telerik.WinControls.Data.GroupDescriptor() {GroupClientDescriptor, GroupPrestationDescriptor, GroupCollaborateurDescriptor}) End Sub Private Sub Travaux_GroupSummaryEvaluate(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.GroupSummaryEvaluationEventArgs) Handles RadGridView1.GroupSummaryEvaluate If e.Group.GroupDescriptor.Equals(GroupClientDescriptor) Then If e.Group.ItemCount > 0 AndAlso e.Group.Item(0).DataBoundItem IsNot Nothing Then e.FormatString = CType(e.Group.Item(0).DataBoundItem.Client, Client).Display End If ElseIf e.Group.GroupDescriptor.Equals(GroupPrestationDescriptor) Then If e.Group.ItemCount > 0 AndAlso e.Group.Item(0).DataBoundItem IsNot Nothing Then e.FormatString = CType(e.Group.Item(0).DataBoundItem.Prestation, Prestation).Display End If ElseIf e.Group.GroupDescriptor.Equals(GroupCollaborateurDescriptor) Then If e.Group.ItemCount > 0 AndAlso e.Group.Item(0).DataBoundItem IsNot Nothing Then e.FormatString = CType(e.Group.Item(0).DataBoundItem.ContratEngagement.Collaborateur, Collaborateur).DisplayName End If End If End SubEnd Class