Flexgrid Filterdefinition XML content is wrong

Posted by: martin.teefy on 12 December 2018, 7:46 am EST

    • Post Options:
    • Link

    Posted 12 December 2018, 7:46 am EST

    Hi,

    I’m using C1 version 2.0.20153.102 with Vb.net 2010.

    I’ve got a problem where the filterdefinition gets saved to the XML file with incorrect nodes resulting in zero rows being shown after a refresh. Basically the filtering when applied to a full set of rows results in 8 rows remaining which is correct.

    If I click reset or click to another treeview node (which causes rereading of data when I return to the required node) the database gets read then the filter xml gets read causing zero records in the grid because for some reason an extra block of xml is added when it shouldn’t. Looking at the following XML the section with ValueFilter after Condition is not needed.

    [b] [/b]

    So that section is already defined for column 1 but is copied into column 7?

    If apply 3 value filters it works but If I add a condition filter then the insertion of the value filter in the section for column with the condition filter happens.

    If I have just 2 condition filters it works.

    As a test I added the column 1 filter after 7 & 9 were already in place then the extra section was added to column 7 when I added column filter. So adding a value filter before a condition filter (in terms of column order) causes this?

    Any advice is appreciated.

    Thanks

    Martin

  • Posted 13 December 2018, 3:11 am EST

    Hi Martin!

    Yes, there was some filtering issue with 2015v3 builds. However, this can be found fixed in the latest builds. Therefore, I suggest you to check your app with 2018v3 builds that you can download from here:

    http://prerelease.componentone.com/dotnet40/c1winforms/2018-t3/C1WinForms.4_4.0.20183.338.zip

    With this, the problem should not occur anymore.

    Best regards,

    Meenakshi

  • Posted 19 December 2018, 4:45 am EST

    Meenakshi,

    1. Can you clarify which version this bug was actually fixed in.

    2. Also how do I install this along side the existing V2/V4 directories?

    3. Also could you tell me how long the classic grid is going to be supported?

    Thanks

    Martin

  • Posted 20 December 2018, 7:45 am EST

    Hi Martin!

    Please find below the answers to your questions, in the same order as asked:

    1. This bug was originally fixed in its subsequent build, i.e., 2016v1.

    2. As per my understanding, you are willing to install C1 controls of two different build versions on the same machine. However, it is not possible and only one version of C1 controls can be installed on a machine, at the same time.

    In order to use DLLs of different build version (other than the installed one) in your project, you can simply add them to References of your Project.

    1. C1FlexGridClassic control was developed for VSFlexGrid users, in order to allow easy migration of their existing projects with VSFlexGrid ActiveX control. As, both the mentioned grids have virtually identical object model.

    In case you are planning to start your new project with C1FlexGridClassic then I would suggest you to use C1FlexGrid control instead. And, enhancements will be provided in C1FlexGrid control only.

    Best regards,

    Meenakshi

  • Posted 20 December 2018, 8:08 am EST

    Meenakshi ,

    Thanks for the reply, I’m confused by answer 2.

    You seem to contradict yourself? I can’t have both versions on the same PC but I can add another version as a reference?

    Currently i have folders ComponentOne\Winforms Edition\bin\v2 and V4 so can i add another folder say V4_20183 and unzip the files into that and then reference those Dlls in Vb.net?

    Or do I have to replace the contents of the existing V4 folder?

    Thanks

    Martin

  • Posted 21 December 2018, 6:46 am EST

    Hi Martin!

    > “It is not possible and only one version of C1 controls can be installed on a machine, at the same time.”

    With this, I meant that only one version of C1 DLLs can be registered into system GAC at a time, through installation process.

    > “In order to use DLLs of different build version (other than the installed one) in your project, you can simply add them to References of your Project.”

    However, you can manually refer to any DLL version different from the installed version.

    Please note, in order to refer to a different DLL in your project, you need to unzip the downloaded builds folder from the previously shared site (http://prerelease.componentone.com/fullindex.html) and place it at any local location. You need not delete/replace the existing installed builds from ComponentOne\Winforms Edition\bin\v2 and v4.

    When you drag-drop a C1 control from toolbox to form in Visual Studio project then C1 DLLs are, by default, referenced from this location: Program Files (x86)\ComponentOne\WinForms Edition\bin\v4.0. However, you can use any different version DLL by removing this default DLL and referencing the new one from the local location.

    In this complete procedure, please make sure that your license key is valid for the build version being referenced in your project.

    Regards,

    Meenakshi

  • Posted 3 January 2019, 5:10 am EST

    Meenakshi,

    I’m still having problems with testing the latest grid in my test project.

    I created a V4_20183 folder alongside the Bin\V4 folder to contain the zip files.

    I cloned the V4_20153 project, removed the grid and the reference to the 20153 dll (as it can’t have both flexgrid controls referenced)

    I added a new tab on the toolbox called V4_20183 and browsed for the new Dll. It created a Flexgrid item in the new tab.

    When I tried to drop this onto the form, it drops it onto the area below the form (where VB imagelist etc reside) & not onto the form itself.

    I also edited the license.licx file to change 20153 to 20183 (not knowing the Public KeyToken) - made not difference.

    I did get a warning that our licence expired Dec 2016. Our DBA had started talking to your sales team about renewing our subscription in December so I will chase him for progress

    Is the lack of valid license causing this odd behaviour?

    Thanks

    Martin

  • Posted 4 January 2019, 3:06 am EST

    Hi Martin,

    Cause:

    VS’s WinForms designer tries to find designer of C1FlexGrid control, but the designer is in separate dll - C1.Win.C1FlexGrid.4.Design.dll. If it cannot find designer (for current version) VS “thinks” that it is component and it should not be placed to form (into Controls collection) and places it to the components tray.

    Resolution:

    1. Install the design dll in GAC, manually.
    2. Place the design dll in the foldre where VS’s devenv.exe is located.

      For details, please refer to ‘Controls are not loaded at Design Time’ portion in the following article: https://www.grapecity.com/en/blogs/a-step-ahead-troubleshooting-common-errors-part-i

      For steps on how to install dll in GAC, please refer video uploaded to following URL: https://www.dropbox.com/s/ue663ror6qqnx6y/0_ProblemIllustrationAndStepsToFix.mp4?dl=0

      Hopefully it would help.

    Thanks,

    Ruchir

  • Posted 5 March 2020, 12:39 pm EST

    I’m having an issue with FilterDefinition in 4.5.2. In my test project, I’m able to retrieve the FilterDefinition for a FlexGrid. However, when I’m using it in my “real” project, the FilterDefinition is always blank. Are there any property dependencies for the FilterDefinition {get} to work properly?

    Thanks,

    Rob

  • Posted 6 March 2020, 3:07 am EST

    Hi Rob,

    Sorry, but it is working fine at my end and there is no extra dependency that needs to be added for this.

    I have attached a demo sample which is working fine at my end, please modify it accordingly replicating the issue so that we can assist you in a better way.

    Regards,

    Prabhat Sharma.

    FilterDefinitionFlexGridDemo.zip

  • Posted 6 March 2020, 3:17 pm EST

    Thank you Prabhat. I was able to resolve the issue. I think calling the “Clear” method prior to retrieving the FilterDefinition caused FilterDefinition to be set to empty string. When I removed _FlexGrid.Clear call, it worked as intended.

Need extra support?

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

Learn More

Forum Channels