Telerik Forums
UI for WinForms Forum
3 answers
404 views

Hi,

Description:

I'm facing refreshing issue when using rad grid view (below I've attached code snippet you can use to reproduce it).

Generally in the described example I have two collections in parent - child relation binded to grid view and one button that adds new object to child collection.

Problem:

When first node in grid is expanded and have no children and I add a new child, it won't appear in grid view, even that node is marked as expanded (untitled.png). To see it I have to collapse and expand it again (untitled2.png) .

It's very imported for me to make it working correctly.

Code:

001.using System;
002.using System.Collections.Generic;
003.using System.ComponentModel;
004.using System.Data;
005.using System.Drawing;
006.using System.Linq;
007.using System.Text;
008.using System.Windows.Forms;
009.using Telerik.WinControls.UI;
010.  
011.namespace WindowsFormsApplication1
012.{
013.    public partial class Form1 : Form
014.    {
015.  
016.        public class A
017.        {
018.            public int Id
019.            { get; set; }
020.  
021.            public string Name
022.            { get; set; }
023.  
024.            public string Value
025.            { get; set; }
026.        }
027.  
028.        public class B
029.        {
030.            public int ParentId
031.            { get; set; }
032.  
033.            public string Value
034.            { get; set; }
035.        }
036.  
037.  
038.        BindingList<A> parentList;
039.  
040.        BindingList<B> childList;
041.  
042.        GridViewTemplate childTemplate;
043.  
044.        public Form1()
045.        {
046.            InitializeComponent();
047.  
048.            radGridView1.ReadOnly = true;
049.  
050.            parentList = new BindingList<A>(new List<A>(new A[] { 
051.            new A() { Id = 1, Name = "name 1", Value = "value 1" },
052.            new A() { Id = 2, Name = "name 2", Value = "value 2" },
053.            }));
054.  
055.            childList = new BindingList<B>(new List<B>(new B[] {
056.            //new B() { ParentId = 1 , Value = "b value 1"},
057.            //new B() { ParentId = 1 , Value = "b value 2"},
058.            new B() { ParentId = 2 , Value = "b value 3"},
059.            new B() { ParentId = 2 , Value = "b value 4"}
060.            }));
061.  
062.  
063.            childTemplate = AddMonitorPackageItemsTemplate();
064.            CreateRelation(childTemplate);
065.            radGridView1.DataSource = bindingSource1;
066.  
067.            bindingSource1.DataSource = parentList;
068.            bindingSource2.DataSource = childList;
069.  
070.        }
071.  
072.        void CreateRelation(GridViewTemplate childTemplate)
073.        {
074.            GridViewRelation monitoredItemToCSRelation = new GridViewRelation(radGridView1.MasterTemplate);
075.            monitoredItemToCSRelation.ChildTemplate = childTemplate;
076.            monitoredItemToCSRelation.RelationName = "childTemplateRelation";
077.  
078.            monitoredItemToCSRelation.ParentColumnNames.Add("Id");
079.            monitoredItemToCSRelation.ChildColumnNames.Add("ParentId");
080.            radGridView1.Relations.Add(monitoredItemToCSRelation);
081.        }
082.  
083.        GridViewTemplate AddMonitorPackageItemsTemplate()
084.        {
085.            GridViewTemplate monitoredPackageItemTemplate = new GridViewTemplate();
086.            monitoredPackageItemTemplate.DataSource = bindingSource2;
087.            radGridView1.Templates.Add(monitoredPackageItemTemplate);
088.            return monitoredPackageItemTemplate;
089.        }
090.  
091.        private void button1_Click(object sender, EventArgs e)
092.        {
093.            childList.Add(new B() { ParentId = 1, Value = Guid.NewGuid().ToString() });
094.        }
095.  
096.  
097.        /// <summary>
098.        /// Required designer variable.
099.        /// </summary>
100.        private System.ComponentModel.IContainer components = null;
101.  
102.        /// <summary>
103.        /// Clean up any resources being used.
104.        /// </summary>
105.        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
106.        protected override void Dispose(bool disposing)
107.        {
108.            if (disposing && (components != null))
109.            {
110.                components.Dispose();
111.            }
112.            base.Dispose(disposing);
113.        }
114.  
115.        #region Windows Form Designer generated code
116.  
117.        /// <summary>
118.        /// Required method for Designer support - do not modify
119.        /// the contents of this method with the code editor.
120.        /// </summary>
121.        private void InitializeComponent()
122.        {
123.            this.components = new System.ComponentModel.Container();
124.            this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
125.            this.bindingSource2 = new System.Windows.Forms.BindingSource(this.components);
126.            this.radGridView1 = new Telerik.WinControls.UI.RadGridView();
127.            this.button1 = new System.Windows.Forms.Button();
128.            ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
129.            ((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).BeginInit();
130.            ((System.ComponentModel.ISupportInitialize)(this.radGridView1)).BeginInit();
131.            this.radGridView1.SuspendLayout();
132.            this.SuspendLayout();
133.            // 
134.            // radGridView1
135.            // 
136.            this.radGridView1.Controls.Add(this.button1);
137.            this.radGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
138.            this.radGridView1.Location = new System.Drawing.Point(0, 0);
139.            this.radGridView1.Name = "radGridView1";
140.            this.radGridView1.Padding = new System.Windows.Forms.Padding(0, 0, 0, 1);
141.            // 
142.            // 
143.            // 
144.            this.radGridView1.RootElement.Padding = new System.Windows.Forms.Padding(0, 0, 0, 1);
145.            this.radGridView1.Size = new System.Drawing.Size(649, 328);
146.            this.radGridView1.TabIndex = 0;
147.            this.radGridView1.Text = "radGridView1";
148.            // 
149.            // button1
150.            // 
151.            this.button1.Location = new System.Drawing.Point(562, 3);
152.            this.button1.Name = "button1";
153.            this.button1.Size = new System.Drawing.Size(75, 23);
154.            this.button1.TabIndex = 0;
155.            this.button1.Text = "button1";
156.            this.button1.UseVisualStyleBackColor = true;
157.            this.button1.Click += new System.EventHandler(this.button1_Click);
158.            // 
159.            // Form1
160.            // 
161.            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
162.            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
163.            this.ClientSize = new System.Drawing.Size(649, 328);
164.            this.Controls.Add(this.radGridView1);
165.            this.Name = "Form1";
166.            this.Text = "Form1";
167.            ((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
168.            ((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).EndInit();
169.            ((System.ComponentModel.ISupportInitialize)(this.radGridView1)).EndInit();
170.            this.radGridView1.ResumeLayout(false);
171.            this.ResumeLayout(false);
172.  
173.        }
174.  
175.        #endregion
176.  
177.        private System.Windows.Forms.BindingSource bindingSource1;
178.        private System.Windows.Forms.BindingSource bindingSource2;
179.        private Telerik.WinControls.UI.RadGridView radGridView1;
180.        private System.Windows.Forms.Button button1;
181.    }
182.}

Regards.

Julian Benkov
Telerik team
 answered on 22 Dec 2010
7 answers
133 views
Hello

We recently upgraded to verson 2010.3.10.1109 and after the upgrade noticed that a GridView that we have with a CheckBoxColumn is always showing the checkbox in the filter row.  I have confirmed that AllowFilter is false for the given column.  Is there a workaround for this issue?

Thanks
Patrick
Software Architect
Rivet Software Inc
Svett
Telerik team
 answered on 22 Dec 2010
1 answer
109 views
Good Day,

I thought I'd just let you know that the in the documentation for the WinForms Q3 2010 SP1 documentation the RadTimePicker Overview and Getting Started is incorrectly shown. On the overview page it shows an image of the Treeview control and on the Getting Started page it shows the Visual Style builder screenshot with a button.

Regards
Stefan
Telerik team
 answered on 22 Dec 2010
2 answers
148 views
Good Day,

I've got this problem where I cannot see the Grip Properties or OverflowButton Properties for the CommandBarStripElement in the VS.NET IDE with the new Telerik Q3 SP1 Control set. I use to be able to set the visibility properties of both the Grip and OverflowButton using the VS.NET propertygrid. I know I can do this from the code-behind please let me know if I'm just losing it.

Please see link to image below.

http://i54.tinypic.com/nytsh1.png
Peter
Telerik team
 answered on 22 Dec 2010
3 answers
97 views
If i use radpanel in Rad dock tool window with right to left support, after auto hiding the radgroup caption becomes left to right
Julian Benkov
Telerik team
 answered on 22 Dec 2010
3 answers
175 views
Good afternoon

i use the tools export

 

 

 

ExportToExcelML

 

exporter = new ExportToExcelML(rgvGrid);

 

exporter.SummariesExportOption =

SummariesOption.ExportAll;

 

exporter.RunExport(sFilepath);

and its works correctly but i need export only several columns of the gridView.. i have been looking how i could do that..
i need to export only two columns.. not all..

thanks for your help...
best wish..

Richard Slade
Top achievements
Rank 2
 answered on 22 Dec 2010
3 answers
271 views

Hello, this is my first post here at Telerik, I tried to find here some solution but without success.

I have a Value Object (VO) which I assign to the gridView DataSource, all the data is showed by the gridView! The problem starts when inside the VO I assign a dateTime as MinValue the gridView shows "01/01/0001", now my question is which is the best approach to show " " instead of "01/01/0001" ?

Thanks,
Marcelo Serragnoli

Richard Slade
Top achievements
Rank 2
 answered on 22 Dec 2010
3 answers
120 views
Is there a way I can populate my treeview with people's names under A - Z nodes? 
Richard Slade
Top achievements
Rank 2
 answered on 22 Dec 2010
21 answers
218 views

Hi

                2010 Q2 SP2

                I have grid with 500 rows and enabled multiselection.

I select first row and start multiselection (SHIFT and arrow down buttons). During selecting rows between 1 and 7 or 8 everything is fine (rows are selected – notification by orange background).

When I cross row 7 or 8 my one CPU core jumps to 50% and there is no notification that next rows are selected.

I have to stop multiselection to see orange background for selected rows.

I tested this for bound and unbound mode.

Is there any way to improve performance of this simple functionality?

I am more interested about unbound mode because in ma case I have variable number of columns.


                Here you can read my  simple source code:

 

public class MySample
{
    public string Property1 { get; set; }
    public string Property2 { get; set; }
    public string Property3 { get; set; }
    public string Property4 { get; set; }
    public string Property5 { get; set; }
    public string Property6 { get; set; }
    public string Property7 { get; set; }
    public string Property8 { get; set; }
    public string Property9 { get; set; }
    public string Property10 { get; set; }
}

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls.UI;
  
namespace PerformanceIssue
{
    public partial class Form1 : Form
    {
        List<MySample> _list;
        public Form1()
        {
            InitializeComponent();
            _list = this.GenerateList();
        }
  
        private void btnPopulateBound_Click(object sender, EventArgs e)
        {
            radGridViewBound.DataSource = _list;
            foreach (GridViewDataColumn col in radGridViewBound.Columns)
            { col.Width = 100; }
            radGridViewBound.MultiSelect = true;
            radGridViewBound.Columns[0].IsPinned = true;
        }
  
        private void btnPopulateUnbound_Click(object sender, EventArgs e)
        {
            GridViewTextBoxColumn col = null;
            GridViewRowInfo row = null;
  
            for (int index = 1; index <= 10; index++)
            {
                col = new GridViewTextBoxColumn();
                radGridViewUnbound.Columns.Add(col);
                col.Width = 100;
            }
  
            foreach (MySample item in _list)
            {
                row = radGridViewUnbound.Rows.AddNew();
                row.Cells[0].Value = item.Property1;
                row.Cells[1].Value = item.Property2;
                row.Cells[2].Value = item.Property3;
                row.Cells[3].Value = item.Property4;
                row.Cells[4].Value = item.Property5;
                row.Cells[5].Value = item.Property6;
                row.Cells[6].Value = item.Property7;
                row.Cells[7].Value = item.Property8;
                row.Cells[8].Value = item.Property9;
                row.Cells[9].Value = item.Property10;
            }
            radGridViewUnbound.MultiSelect = true;
            radGridViewUnbound.Columns[0].IsPinned = true;
        }
  
        private List<MySample> GenerateList()
        {
            List<MySample> list = new List<MySample>();
            MySample item = null;
            for (int index = 0; index < 500; index++)
            {
                item = new MySample()
                {
                    Property1 = string.Format("Row: {0}, Col: {1}", index, 1),
                    Property2 = string.Format("Row: {0}, Col: {1}", index, 2),
                    Property3 = string.Format("Row: {0}, Col: {1}", index, 3),
                    Property4 = string.Format("Row: {0}, Col: {1}", index, 4),
                    Property5 = string.Format("Row: {0}, Col: {1}", index, 5),
                    Property6 = string.Format("Row: {0}, Col: {1}", index, 6),
                    Property7 = string.Format("Row: {0}, Col: {1}", index, 7),
                    Property8 = string.Format("Row: {0}, Col: {1}", index, 8),
                    Property9 = string.Format("Row: {0}, Col: {1}", index, 9),
                    Property10 = string.Format("Row: {0}, Col: {1}", index, 10)
                };
                list.Add(item);
            }
  
            return list;
        }
    }
}

 

 

 

 

 

Regards

Jack
Telerik team
 answered on 22 Dec 2010
11 answers
377 views
Hi,

I have a grid that i have added a custom column containing a progress bar. This is done by adding the progressbar or updating the progressbar each time the CellFormatting event is fired. But it seems like this is done way to often?
In my opinion would i like to paint this the first time i load the row. Then I want to be able to update the progressbar in a row when the progressbar values  have changed. 
Now it updates this each time i click in a cell or change row. And it does not just happen to the row the i clicked in.. it fires for all visible rows in the grid. 

How can i avoid this, how can i speed up the grid. NB the progressvalue function (my function) is slow as well, but fast enough if i was to set the progress value for a specific row.

Regards
Svein Thomas
Svett
Telerik team
 answered on 22 Dec 2010
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ListView
ComboBox and ListBox (obsolete as of Q2 2010)
Chart (obsolete as of Q1 2013)
Form
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
PropertyGrid
Menu
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
Panorama
New Product Suggestions
Toolstrip (obsolete as of Q3 2010)
VirtualGrid
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
Documentation
SplitContainer
Map
DesktopAlert
CheckedDropDownList
ProgressBar
TrackBar
MessageBox
Rotator
SpinEditor
CheckedListBox
StatusStrip
LayoutControl
SyntaxEditor
Wizard
ShapedForm
TextBoxControl
CollapsiblePanel
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
GroupBox
WaitingBar
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
ColorDialog
FileDialogs
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
Styling
Barcode
PopupEditor
RibbonForm
TaskBoard
Callout
ColorBox
PictureBox
FilterView
NavigationView
Accessibility
VirtualKeyboard
DataLayout
Licensing
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
ButtonTextBox
FontDropDownList
BarcodeView
BreadCrumb
Security
LocalizationProvider
Dictionary
Overlay
Flyout
Separator
SparkLine
TreeMap
StepProgressBar
SplashScreen
ToolbarForm
NotifyIcon
DateOnlyPicker
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
AI Coding Assistant
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?