C1TrueDBGrid won't be ported to .NET 5?!

Posted by: brezodejan on 2 December 2020, 4:26 am EST

  • Posted 2 December 2020, 4:26 am EST

    I read this on your blog:
    The following controls will not be ported to .NET 5.
    WinForms: C1Calendar, C1TrueDBGrid, C1Chart, C1Combo...


    Does that mean that you aren't going to port C1TrueDBGrid to .NET 5?
    What that means? My company has a lot of products with many code that depends on C1TrueDBGrid for WinForms.

    Is there any way to be on .NET 5 with C1TrueDBGrid component?

    This is the recommendation from your Documentation, which tells us to use TrueDBGrid instead of FlexGrid:
    Differences Between FlexGrid for WinForms and True DBGrid for WinForms
    Many customers ask what the difference is between our grid components. While both are robust, easy-to-use grid controls that allow you to browse, edit, add, delete, and manipulate tabular data, there are several reasons why you may want to use one over the other.

    Both components can be used in bound or unbound mode, but C1FlexGrid allows you to work more easily in unbound mode. With C1FlexGrid you can customize trees and take advantage of its cell merging capabilities. You can also derive from it to create customized grids.

    True DBGrid for WinForms is better suited for data binding and, therefore, offers more features in that area, including split views and built-in hierarchical binding and grouping.

    If you plan to use your grids mainly in bound mode and require advanced features such as splits and hierarchical views, True DBGrid for WinForms is the right choice. However, if you plan to work with your grids in unbound mode or need to customize the grid beyond what the object model offers, C1FlexGrid is a better choice.
  • Replied 2 December 2020, 7:29 am EST

    Hello brezodejan,

    We plan to focus more investment in FlexGrid as our #1 datagrid for all .NET and JavaScript platforms. Over the past several years we have continued to enhance FlexGrid, infact it can do pretty much everything that TrueDBGrid can do except splits. That description from the documentation you reference is outdated, and we plan to update it immediately.

    We appreciate your feedback on C1TrueDBGrid, and this is the type of feedback we need to hear especially if we do decide to port C1TrueDBGrid to .NET 5. There's a chance we may be able to port it, but it won't gain many new features over time like FlexGrid will. We would be very willing and interested in helping you switch to FlexGrid and communicating with you to get more feedback by email if that's OK.

    Regards,
    Greg Lutz, Product Manager
  • Replied 2 December 2020, 9:29 pm EST

    I'm so glad to hear that there's a chance we may be able to port it. And I don't need it to have many new features over time like FlexGrid will... for me it's enough to have current features and not stop us to upgrade ours applictations to .NET 5.

    I hope that you will give me the information what is you final decision about porting TrueDBGrid to .NET, because that is very important for our company to know how to plan our future. We use your component more than 15 years and not porting so important component as TrueDBGrid will bring up the question if we made the deal with right company, as we think GrapeCity is.

    Sincerely
    Dejan Brezo, Owner and Software architect in Debug corp.
  • Replied 3 December 2020, 4:59 am EST

    Hello Dejan,

    I've emailed you some additional questions at the address associated with your account on this website.

    An additional point I left out, is that we will continue to support all .NET 4.5.2 controls usage in .NET 5 apps. So if you were to begin porting your apps now, you could continue to use the 4.5.2 version.

    Thanks
    Greg
  • Replied 12 January 2021, 11:03 pm EST

    Similar to Dejan, we also have considerable amounts of code dependent an the c1TrueDBGrid component that needs to be ported to .NET 5, so having to rewrite/reconfigure all code to use FlexGrid would be a major problem. Based on earlier announcements we counted on the full WinForms suite of components to be available in .NET 5, and c1TrueDBGrid is probably our most important component for that! So please, if possible, also port c1TrueDBGrid to .NET 5 ....

    You state that when porting to .NET 5, we can continue to use the 4.5.2 version, but we have trouble getting that to work. In a new .NET 5 windows project, with the NuGet package c1TrueDBGrid (v 4.5.2) installed, we do get to see the c1TrueDBGrid component available in the Windows Forms Toolbox, but when trying to place such a grid on a Windows Form with the designer we get an error 'Failed to create component 'C1TrueDBGrid' - Unable to cast .... C1TrueDBGridDomSerializer to Microsoft.WinForms.DesignTools.Server.Serialization.CodeDomSerializer'

    Am I missing something here?
  • Replied 18 January 2021, 1:27 am EST

    Hi,

    This is a known issue when using version 4.5.2 controls with .NET5, you can work around this by following the instructions given below:

    1 : Prepare a solution to use Windows Forms Designer for .NET5 App
    a: Create a Windows Forms .NET 5 App.
    b: Open the project in Visual Studio and save the project including the solution.
    c: Right-click on Solution and Add New Project → From templates, Select a .Net Framework Winforms App.
    d: In properties of the Classic framework project, set default namespace to same default namespace of .NET 5 app.
    e: Erase all existing forms in both projects and save changes.

    2: Adding a Form
    a: In the classic framework project, Add New Item
    b: Select Windows Form
    c: Do some changes in designer, like resizing the form, so resx file will be generated and Save.
    d: In the solution explorer, right-click on the form and choose Cut.
    e: In .NET5 app, paste all the items. (form, designer, resx).
    f: In the classic app, right-click and choose Add Existing Item.
    g: Browse open dialog to .NET5 app folder and choose those 3 added files and click dropdown near of add button and choose Add As Link
    h: Compile the solution.
    i: Renest the files in the classic app using a File Nesting Extension or by editing the project file.

    3: Adding TrueDbgrid on Form
    a: Add reference to the TrueDbGrid to both projects.
    B: Now, you can use the designer for the Form using the Classic Framework App and build the .NET 5 app.

    Please refer to the sample attached.
    If you have any questions please let me know.

    Regards.
    Prabhat Sharma.
    WinformsTest.zip
  • Replied 18 January 2021, 2:50 am EST

    I would like to add my voice to that of Dejan and the rest. When Componentone bought out Flexgrid freom Videosoft (I was a customer of both), I would have bet my money on Flexgrid as the Component that would have been dropped over the years. TrueDBGrid has always been the suggested solution for data bound grids. My use of TrueDBGrid probably has a 8:1 ratio or more over Flexgrid.

    Although appreciated, the post above seems like quite the hack and possibly susceptible to issues down the road.

    I understand the overhead with keeping development for two similar products active, however is that the only reasoning for this pathway for TrueDBGrid? I could live with the fact that no new features would be offered however not to have a seamless upgrade process between .Net frameworks is definitely a huge concern.
  • Replied 19 January 2021, 5:31 pm EST

    prabhat.sharma said:
    Hi,

    This is a known issue when using version 4.5.2 controls with .NET5, you can work around this by following the instructions given below:

    1 : Prepare a solution to use Windows Forms Designer for .NET5 App
    a: Create a Windows Forms .NET 5 App.
    b: Open the project in Visual Studio and save the project including the solution.
    c: Right-click on Solution and Add New Project → From templates, Select a .Net Framework Winforms App.
    d: In properties of the Classic framework project, set default namespace to same default namespace of .NET 5 app.
    e: Erase all existing forms in both projects and save changes.

    2: Adding a Form
    a: In the classic framework project, Add New Item
    b: Select Windows Form
    c: Do some changes in designer, like resizing the form, so resx file will be generated and Save.
    d: In the solution explorer, right-click on the form and choose Cut.
    e: In .NET5 app, paste all the items. (form, designer, resx).
    f: In the classic app, right-click and choose Add Existing Item.
    g: Browse open dialog to .NET5 app folder and choose those 3 added files and click dropdown near of add button and choose Add As Link
    h: Compile the solution.
    i: Renest the files in the classic app using a File Nesting Extension or by editing the project file.

    3: Adding TrueDbgrid on Form
    a: Add reference to the TrueDbGrid to both projects.
    B: Now, you can use the designer for the Form using the Classic Framework App and build the .NET 5 app.

    Please refer to the sample attached.
    If you have any questions please let me know.

    Regards.
    Prabhat Sharma.
    WinformsTest.zip

    Are you serious? I don't understand the 2f-i bit, and how would this work for porting an existing .NET 4.8 project with dozens of existing forms with C1TrueDBGrid defs to .NET 5? In such case we can't just 'erase all existing forms' (step 1e) and define all forms/grids all over again; that is a massive amount of work - we might as well rewrite the app.

    I seriously hope there will be some kind of real support for C1TrueDBGrid for.NET 5, as this suggestion is a joke; no offense.

    Is there a time frame in which this 'known issue' will be fixed?
Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels