I have noticed some strange behaviour when adding and editing records in a hierarchical radGridview. I have attached a Visual Studio Sample solutions to help illustrate this issue. Follow these steps to recreate the issue: 1.Run the attached sample solution. Form1 will load with a radGridview containing hierarchical data. 2. Expand the region record to show it's child records. 3. Click on "Click here to add new row" directly underneath the Field_Value column and enter any value. 4. Try and click on the Operator column on the same row to add a value. You will notice that nothing happens. 5. Expand the Sub_Region record to show it's child records. 6. Click on "Click here to add new row" directly underneath the Operator column and enter any value. 7. Try and click on the Field_Value column on the same row to add a value. You will notice that nothing happens. I have noticed that this behaviour happens not only when you are adding a new row, but in existing rows as well. If you move around between records after expanding the nodes this issue happens allot (but not always). If you try a few different scenarios by collapsing and expanding the nodes and adding or editing records in different orders you should be able to reproduce the error allot. If you use the TAB key then it does not seem to be an issue, only when you are trying to click into the adjacent column on the same row. It does not seem like correct behaviour. Is this a bug or am I doing something wrong? Please let me know if there is a way to correct this behaviour?
if you group by diffrent columns - change a grouping - delete a grouping - add another one - you'll see that pretty soon the count goes off.
I have create a model Entity with two table on sql 2008 . Order and detailorder ( one to many related) In detailorder Class in have create a custom property public readonly property Amount as decimal get return qta * price end get end property In order Class in have create a custom property public property TotalAmount as decimal get M_TotalAmount end get set (value as decimal) M_TotalAmount =value end set end property in the orderdetail class i have added the code private sub onqtaChaged me.Order.RicalculateTotalAmount end sub in the Order class I have added private sub RicalculateTotalAmount Dim total as decimal=0 for each orderdetail in me.orderdetails total =total + orderdetail.Amount net end sub Well. I have put inside the form a Bindingsource component (Bindingsource1) and i set a datasource of the OrderEntity then I have put inside the form a Bindingsource component (Bindingsource2) and i set a datasource of the Orderdetails Entity of OrderEntity I have put into form some control of Order in binding on Bindingsource1 Then i put a radgridview ad the datasource property set to Bindingsource2 Ok now i run the project Now i enter in the cell Qta of radgridview and i change the current value. With mouse i change focus on the another textbox out the Gridview Radgridview Crash!! I olso try to : After run project Now i enter in the cell Qta of radgridview and i change the current value. With mouse i change focus on the another textbox inside the same datagridrow then i change focus inside the another radtextbox out of radgridview the radgridview work fine.
Relation is defined in DataSet bound to RadGridView control
related to fitering functionality of RadGridView control Comment: Refreshing the master template of RadGridView in the CellEndEdit event handler is not allowed from the current architecture of the control. Use radGridView1.TableElement.Update(GridUINotifyAction.DataChanged) instead.
Makes RadGridView to be thread safe by using from BackgroundWorker
Workaround: the MasterTemplate has Copy method, which allows overriding in its descendants. Thus, it is possible to modify the copied data according to the specific requirements: public class CustomGrid : RadGridView { protected override RadGridViewElement CreateGridViewElement() { return new CustomRadGridViewElement(); } public override string ThemeClassName { get { return typeof(RadGridView).FullName; } } } public class CustomRadGridViewElement : RadGridViewElement { protected override MasterGridViewTemplate CreateTemplate() { return new CustomMasterGridViewTemplate(); } protected override Type ThemeEffectiveType { get { return typeof(RadGridViewElement); } } } public class CustomMasterGridViewTemplate : MasterGridViewTemplate { public override void Copy() { base.Copy(); if (Clipboard.ContainsData(DataFormats.Text)) { string data = Clipboard.GetData(DataFormats.Text).ToString(); if (data != string.Empty) { StringBuilder sb = new StringBuilder(data); //modify the copied data and replace it in the clipboard Clipboard.SetData(DataFormats.Text, sb.ToString()); } } } }
To reproduce: Add a RadGridView with a GridViewComboBoxColumn and add 70000 items as datasource. You will notice that openning it is slow. Workaround: Use the following custom editor: public class MyEditor : RadDropDownListEditor { protected override RadElement CreateEditorElement() { return new MyEditorElement() { SyncSelectionWithText = false }; } } public class MyEditorElement : RadDropDownListEditorElement { public override void NotifyOwner(PopupEditorNotificationData notificationData) { if (notificationData.notificationContext == PopupEditorNotificationData.Context.TextChanged && !this.SyncSelectionWithText) { return; } base.NotifyOwner(notificationData); } }
If SqlDataReader object has been used for loading data in RadGridView, column expressions does not work.
To reproduce: add a RadGridView and bind it to the Northwind.Products data table. Use the following code: private void Form1_Load(object sender, EventArgs e) { this.productsTableAdapter.Fill(this.nwindDataSet.Products); RadMessageBox.Show(string.Format("TOTAL2 = {0}", NewExpression())); } public string NewExpression() { this.radGridView1.Columns.Add(new GridViewDecimalColumn("TOTAL1") { Expression = "ReorderLevel + UnitsOnOrder" }); this.radGridView1.Columns.Add(new GridViewDecimalColumn("TOTAL2") { Expression = "TOTAL1 + UnitPrice" }); //uncomment to get the value of "TOTAL2" // var total1 = this.radGridView1.Rows[2].Cells["TOTAL1"].Value; var total2 = this.radGridView1.Rows[2].Cells["TOTAL2"].Value; return total2.ToString(); } It is not possible to access the column value ("TOTAL2") before firstly to access the column "TOTAL1" value.
To reproduce: - Add grid with enabled paging and filtering to a blank form. - Select the second page and apply a filter.
IMPROVE. RadGridView - add the current selection and the new selection to the SelectionChanging event.
To reproduce: - Create a GridViewMaskBoxColumn with standard mask type and mask set to "aaaaaaaaaa". - Bind the grid to the following DataTable: private static DataTable GridDataTable() { DataRow dr = default(DataRow); DataTable dt = new DataTable(); dt.Columns.Add("Description"); dr = dt.NewRow(); dr[0] = "1234567890"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "abc"; dt.Rows.Add(dr); return dt; } - Click the first cell in order to enter in edit mode. - Click the second cell and you will notice that the text is wrong. Workaround: - change the value in the CellEditor intialized event handler: void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e) { if (e.ActiveEditor is RadMaskedEditBoxEditor) { RadMaskedEditBoxEditor editor = e.ActiveEditor as RadMaskedEditBoxEditor; editor.MaskTextBox.Value = "___________"; editor.MaskTextBox.Value = (string)radGridView1.CurrentCell.Value; } }
Implement a property such as EncloseDataWithQuotes, which should get or set whether the exported data should contain quotes http://www.telerik.com/help/aspnet-ajax/p_telerik_web_ui_gridcsvsettings_enclosedatawithquotes.html
Steps to reproduce: 1) Add RadGridView control 2) Use GridViewDecimalColumn: DataTable customDataTable = new DataTable(); sampleDataTable.Columns.Add("Column name", typeof(double)); 3) Set the right-to-left property of the control to true: this.radGridView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; 4) Set the following CellElement properties using CellFormatting event: void radGridView1_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e) { if (e.CellElement is GridDataCellElement) { e.CellElement.RightToLeft = false; } } 5) Re-size the form manually until the horizontal scroll-bar disappears 6) Resize a GridHeaderCellElement in left direction and you will notice that the GridDataCellElements from this columns are resized to the right direction Whenever I'm trying to expand any column the header expands as expected but the column itself is expanding in the other direction so the headers and columns content are not aligned. Expected result: expand the column content properly Actual result: the GridDataCellElements from this columns are expanding incorrectly
Typo error - "Lenght" instead of "Length", located under "Text" in the GridView expression editor
To reproduce: - add couple columns in design time - populate them in the form's constructor - subscribe to the cell formatting event where validation will be performed The result is that the indent cell hover displays the error text set and the data cells are formatted correctly, but the exclamation mark is not displayed until the grid is scrolled. It seems that the indent cell is not invalidated WORKAROUND: Call the Refresh method of the template
DateTimeColumn should open hitting the F4 key. WORKAROUND: this.radGridView1.EditorRequired += new EditorRequiredEventHandler(radGridView1_EditorRequired); void radGridView1_EditorRequired(object sender, EditorRequiredEventArgs e) {
Try to set the number of columns for the RadGridView to greater than 11230 columns, it throws "An item with the same key has already been added." exception. It does not happen when the code is run for the first time, but on any subsequent calls. Step to reproduce: 1. Create project with Windows form 2. Place RadGridView on form 3. Add following code: private void Form1_Load(object sender, EventArgs e) { radGridView1.VirtualMode = true; radGridView1.ColumnCount = 15000; } 4. Run application multiple times and you will get an exception at some moment during start up. NO WORKAROUND