This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
We are using July 23, 2013 nightly build. There are still a few problems for the DataGrid: A. For string field, we using the following to load the column:
1) If we enter some values on that column, 2) before click anywhere else, we click on the column header to sort, 3) Click the cell which value last entered 4) Click on the other cell on same column, the value entered last will disappear/change back to the original value You may need to repeat a few times to reproduce it. I think the problem is that it is still in Edit mode when click on column header. B. for the datetime column, we use the following to add the column for editing mode:
1) When you double click on the year on the control and change it to different year (2001 to 2002), or month or day... 2) click away from this DataGrid, the year will be back to the original one C. Crashes number one: when change some value on a string field and click on other DataGrid on the same window, it will crash as show in crash1.jpg and click on Ok button, crash2.jpg popup. D. Crash Number 2: DataGrid.itemssource = DataView, You enter some value to a text column and then move the verical scroll bar the crashes happened as in crash_3.jpg appears I don't have time to create reproducing projects please see the LargeDataTable project a long time ago and loading the columns on datagrid is the same... Thanks Gordon |
|
|
E. We found more crashes which is not happening before: 1) If the DataGrid.ItemsSource = DataView and 2) choose a bunch of records (i.e. 25 records) but 3)delete a part of the selected records (i.e. 20 of 25 records) 4) Now drag the row header from remaining selected records, the crashes happened as in crash_4.jpg 5) click Ok then error like crash_5.jpg popup. |
|
|
Hello Gordon Thanks for pointing these out. I have resolved the NullReferenceException which will be fixed in the next nightly build. I was unable to reproduce any of the other issues. Jason Fauchelle |
|
|
Hi Jason, I downloaded the latest nightly build and tested the issue with dragging a column header for grouping and it does not work at all. You can see this behavior even when testing the Column Grouping feature using the Samples Explorer that is installed with the latest nightly build (I am testing with the WpfElements5Professional-20130724.msi build). It is still throwing null exception error in our project. Kamal |
|
|
Hello Kamal My apologies, I was referring to this issue: "DataGrid.itemssource = DataView, You enter some value to a text column and then move the verical scroll bar the crashes happened as in crash_3.jpg appears" This is the only exception mentioned in this thread that causes an ArgumentNullException. I can not find any mention of an issue related to column grouping. I have not been able to reproduce any issues in the SampleExplorer. Please provide steps to reproduce an issue with the Sample explorer and I'll fix that up right away. Jason Fauchelle |
|
|
Hi Jason, the problem Kamal found is on our end and it is been fixed. Your Sample Explorer is not that to change to reproduce the problem. |
|
|
HI Jason, I have reproducing project by slightly changing the LargeDataTable that I sent to you a long time ago. I spent half day for doing this. I reproduce the problems on A, B, E. You fixed D. The only problem is not fixed or reproduced is problem C. Could you try to solve it according to the exception on the attached crashc1.jpg and crashc2.jpg. It was not there before you made the improvement on DataGrid. Steps for Problem A: 1) Run the application and cllick on MoreProblem button 2) Click on the cell on the first row with column of FirstName, enter something like "aaa" 3) click on the column header of FirstName, then click on the same cell you entered "aaa", click on 2nd cell on the same column, you will find the first cell with value ="aaa", goes back to First 0 as in original value before changed. Steps for Problem B: 1) Run the application and cllick on MoreProblem button 2) double click on 2001 on first row under Birthday column, change the value to 2002 3) click on the 2nd datagrid, you will see the value you changed to 2002 back to 2001, same will happen if you change the month, day and time value Steps for Problem E: 1) Run the application 2) click on 2nd row header the scroll to the end record 3) press shift + click on the last row header to select all the rows except the first row 4) click on delete button, you will see we still have a few rows selected 5) click nad drag on one of the selected row's rowheader, a exceptions will happen. the first row also is empty at the moment. You may need to do steps 1) - 5) a few times to reproduce it. Steps problem C is hard since we put the second datagrid on ActiPro's Docking and I really need to work on our own bugs, please try to fix them according to screen shots crashc1.jpg and crashc2.jpg. Also can you include all the scenery that we send to you to your test? Hope you can fix them soon. Thanks Gordon |
|
|
Hello Gordon Thanks for your time in providing the repro project. Issues A and B will be resolved in the next nightly build. I'll continue working on the others tomorrow. I am adding all the issues you've found to the test suite where possible. Jason Fauchelle |
|
|
Thanks, Jason. Looking forward to C and E's Resolutions since they are very important for us. Thanks Gordon |
|
|
Hello Gordon Issue E will be resolved in the next nightly build. I was unable to reproduce issue C, but since the stack trace is similar to E, it is possible this is solved as well. If the issue remains, please send a screen shot of the stack trace again as I have changed the error message to provide more information. Jason Fauchelle |
|
|
Hi Jason, C is still not fixed. The problem is that if I enter anything in the any column not just the string value column (i.e. DateTime Field, but combobox is ok) and click on the contents of another datagrid, it will crash and if I enter anything in the column and click on to controls other than the datagrid. The following are exceptions: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.Collections.Generic.List`1.get_Item(Int32 index) at Mindscape.WpfElements.DataGrid.OnMouseMove(MouseEventArgs e) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.MouseDevice.Synchronize() at System.Windows.Input.MouseDevice.ChangeMouseCapture(IInputElement mouseCapture, IMouseInputProvider providerCapture, CaptureMode captureMode, Int32 timestamp) at System.Windows.Input.MouseDevice.PreNotifyInput(Object sender, NotifyInputEventArgs e) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) Click ok, then the following exceptions appears: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.Collections.Generic.List`1.get_Item(Int32 index) at Mindscape.WpfElements.DataGrid.OnMouseMove(MouseEventArgs e) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.MouseDevice.Synchronize() at System.Windows.Input.MouseDevice.ChangeMouseCapture(IInputElement mouseCapture, IMouseInputProvider providerCapture, CaptureMode captureMode, Int32 timestamp) at System.Windows.Input.MouseDevice.Capture(IInputElement element, CaptureMode captureMode) at System.Windows.Input.Mouse.Capture(IInputElement element) at Mindscape.WpfElements.DataGrid.#S7(Object sender, MouseButtonEventArgs e) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) One more information, there is exceptions on the control which I don't understand, and you can get these exception on the LargeDataTable projects too: System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='Mindscape.WpfElements.PropertyGrid', AncestorLevel='1''. BindingExpression:Path=DefaultMargin; DataItem=null; target element is 'ContentControl' (Name=''); target property is 'Margin' (type 'Thickness') I did not remember using your PropertyGrid inside the DataGrid. Hope this will be fixed soon. Since we really need to stablize the controls this week. Thanks Gordon |
|
|
Hello Gordon I still was unable to reproduce issue C, but I have put checks in the code where the exception occurs based on the stack trace. It is odd though, the only way these exceptions should be occurring is if all the visual items in the DataGrid are somehow emptied between pressing the mouse and moving the mouse. Though from your screen shots this does not look like the case. This candidate fix will be available in the next nightly build. Let me know if the scenario improves. The DataGrid is built on top of the PropertyGrid foundation which is why this binding error is possible. I have found the cause of this which will be resolved in the next nightly build. Jason Fauchelle |
|
|
Hi Jason, Thanks and C is fixed, it may be because you fix the binding error. Anyway, it is ok now. Gordon |
|