Problem with LoadLayout

71 posts, 0 answers
  1. Vassil Petev
    Admin
    Vassil Petev avatar
    1765 posts

    Posted 19 Apr 2011 Link to this post

    Hi erwin,

    This is a seemingly simple question with a long, political, and policy-setting answer, which stands before all 3rd party control vendors. It has no simple correct answer, but here is a stab of why our policy is what it is, and why it is so:

    It has always been Telerik's policy to offer the most stable and updated versions to our customers. We do this by working on the most recent codebase and constantly improving it. In our view, this is the best way to keep our costs down, be able to keep the prices low and competitive, and deliver new features to you at the same time. We are very aggressive in our release schedule, and although one can argue that this has some negative sides in the WinForms world, the vast majority of our customers are very happy with this fact, because they are getting needed fixes more often.
     
    Let's dive deeper into this:

    1) If you are to work with a 2-year old version of our tools (say Q2 2009) and we provide you with a "fixed Q2 2009", you will be more or less stuck with a custom implementation which solves your single problem. This means that you will miss all future improvements, which we have released, because a) you will be happy with your current version, and b) it works, so why bother upgrading. This is an important factor to consider, not only because you will miss a big chunk of the value that our licensing offers (i.e. new products and updates + support services), but also because the upgrade process from Q2 2009 to today's version will be much harder due to the introduction of new features, new products, and/or improved new API. This situation begs for a few questions, all of which translate to jacking our prices up:
    1. What happens if a new issue pops up while you are extending your legacy application? What if the need for this fix is discovered 3 years from today, i.e. in 2014?
    2. How much extra are you willing to pay to a vendor to provide a fix for such legacy applications?
    3. What is the oldest version that you think Telerik should support?
     
    2) For us, supporting an old version means providing support for another codebase (in this case Q2 2009). If we are to prepare a new custom build with the same fix for another customer with another version (say Q3 2008), we will be repeating the same job time and time again which will lead to much higher non-competitive prices.
    There is also another factor to the equation - the time we need to prepare the fix. As with all fixes, we will need fix the problem in Q2 2009, test the build, package it and give it to you. Fixing aside (covered above), testing and packaging only takes about a week of time; time, which again costs money (see questions #2 and #3 above).

    This is why we have decided to support only the last 4 releases (which cover a time span of one year) and keep our pricing low. For older versions we offer the free service of upgrading our client's applications to the latest current version. This helps us keep legacy apps to a minimum and have our costs under control.

    Indeed, this policy puts more burden on you - the developer - because you will need to update the application more often [than you like] and distribute it to your users. There are automation tools which do this for you, so the cost of distribution today is much lower than it used to be. The plus side of our policy however, is that you are paying lower prices, but you are always getting the best value for your dollar, because you always have the latest and greatest we produce. Basically, we think this is a win-win situation. This is why we have our policy set the way it is.

     
    Best wishes,
    Vassil
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  2. erwin
    erwin avatar
    358 posts
    Member since:
    Dec 2006

    Posted 19 Apr 2011 Link to this post

    Hi Vassil,

    I understand your arguments, but the problem is this: During my history with Telerik Controls for Windows Forms (several years now), I had exaclty one Release (and it was a post SP2 interim build) that had no (known to me) bugs which affected the proper working of my app. If you see the history of my bug tickets, there is usually at least one showstopper with each new Q Release and a bunch of annoying bugs where often the answer is: will be fixed in the next release where the cycle begins again with the next showstopper.

    Also due to this release cycle I feel kind of pressed to test my app with each initial feature relase (including needed code change), since I'm afraid the showstopper might not get fixed if I don't report it and will be still present in the SP1. Now this forces me to deal with multiple code bases, since I'm forced to develop and test to each and every release, while I usually can ship the app only with one or two telerik builds per year due to the many showstoppers. Also It forces me to have several releases of the controls installed on my developer machine which leads to a whole class of errors due to version mismatches.

    Don't get me wrong, I absolutely like the controls and am impressed with the quality of your support. But more stability in the code base would certainly not be a bad thing.
    When I consider the time I spent chasing bugs and filing bug reports, a more stable product could easily cost double the price (The current license cost of the Suite is about 1 developer day worth of work in Switzerland). But then I am an independent developer - corporate people may see that differently.

    Regards
    Erwin
  3. UI for WinForms is Visual Studio 2017 Ready
  4. Prad
    Prad avatar
    35 posts
    Member since:
    Apr 2008

    Posted 19 Apr 2011 Link to this post

    Hi Vassil,

      I agree with Erwin. My history of working with Telerik components are close to 3 years (since 2008) and not doubt my team and business users are happy about the quality and functionality. But what comes along with it is the time we spend to test new release and later chase the bugs and find that it cannot be fixed and have it wait for the next hot fix or major release. By doing so we will have to let go the release and wait for next one. As decision maker I know it will not hit UAT stand when QA tests it on our end.

    So far we have found 2009.1.9.518 version stable with minor flaws and workaround for bugs that cant be fixed. Thereby have been floating all the apps on this component. Although it may not be the same with other users.

    My concern is when Telerik stops supporting older version and it will be a major project for us to port from older version to latest version.  :( 

    Anyways I appreciate your team (support and development) for quick reply. Keep up the good work.

    Thanks
    Pradeep




  5. Nikolay
    Admin
    Nikolay avatar
    1803 posts

    Posted 22 Apr 2011 Link to this post

    Hi guys,

    Thank you for the feedback. I understand your point.

    I want to assure you that we do our best to avoid introducing issues or behaviors that do not let you release your applications. We do so by covering the whole suite with a serious amount of unit tests over our code base as well as performing the necessary QA cycles. Still, some the of features that you, our customers, request can't be implemented without redesigning the architecture of some of our controls anew. Despite the fact that the unit tests should let us know if something is wrong, the controls are complex and sometimes an issue may make it into the suite. Of course, we try to resolve this issue accordingly.

    Pradeep, our product is getting better with each new release that comes out. Not only that we introduce fixes for the issues that our previous versions had, but we also introduce many new features that you will be happy to find in the suite. I would strongly recommend updating to the latest RadControls for WinForms version Q1 2011 SP1. If you have issues while doing so, we are ready to update your application for you. If you agree, please open a new support ticket where we can discuss the details.
     
    Once again guys, thank you for the feedback.

    Happy Easter!

    All the best,
    Nikolay
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  6. devoas
    devoas avatar
    69 posts
    Member since:
    Dec 2009

    Posted 19 May 2011 Link to this post

    Hi,

    We tested 2011 Q1 and found a problem in LoadLayout incase of multiple Header Rows  still exist. 

    Also in case of Multiple Header rows,  incase we drop any column on  Column chooser  it is not getting any column.... but some work perfectly if have single Header Row....


    Issue

    Receipt

    Qty

    Amount

    Qty

    Amount



    Now if I want to move Qty (Issue) to be hide or move on Column chooser, it is not working.... Please advise any workaround.

    Thanks.
    devoas.
  7. Svett
    Admin
    Svett avatar
    728 posts

    Posted 25 May 2011 Link to this post

    Hello devoas,

    Thank you for contacting us.

    I did not manage to reproduce these issues. I would kindly ask you send me a sample project where they appear. You can do that by opening new support ticket. Please illustrate also the exact steps that we should follow to reproduce them. All this will help us to locate the problem and provide you with accurate support.

    I look forward to your reply.

    All the best,
    Svett
    the Telerik team
    Q1’11 SP1 of RadControls for WinForms is available for download; also available is the Q2'11 Roadmap for Telerik Windows Forms controls.
  8. Hilda Kenny
    Hilda Kenny avatar
    43 posts
    Member since:
    Jul 2009

    Posted 03 Aug 2011 Link to this post

    Hi,
    Can you answer me this please?  When i add a new database field to a table, I want this to appear in my Column Chooser AFTER I apply an old layout. Is this possible? I don't want to reset the layout and then add in the new field.  The version of the controls I have is from July 2010. 

    Thanks.
  9. Svett
    Admin
    Svett avatar
    728 posts

    Posted 05 Aug 2011 Link to this post

    Hello Hilda,

    The required behavior is not supported out of the box. Nevertheless, you can analyze your data source and if the some its column does not exist as a RadGridView column, you can add it manually as an invisible column:

    DataTable table = this.radGridView1.DataSource as DataTable;
    this.radGridView1.LoadLayout(@"C:\grid.xml");
     
    foreach (DataColumn column in table.Columns)
    {
        if (!this.radGridView1.Columns.Contains(column.ColumnName))
        {
            GridViewDataColumn dataColumn = GridViewHelper.AutoGenerateGridColumn(column.DataType);
            dataColumn.IsVisible = false;
            dataColumn.Name = column.ColumnName;
            dataColumn.FieldName = column.ColumnName;
            this.radGridView1.Columns.Add(dataColumn);
        }
    }

    I hope this helps.

    Kind regards,
    Svett
    the Telerik team
    Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get now >>
  10. Hilda Kenny
    Hilda Kenny avatar
    43 posts
    Member since:
    Jul 2009

    Posted 09 Aug 2011 Link to this post

    Thanks but I actually solved the problem by looking for the column in the XML saved in my layout table and adding it to the XML if it's not found. That way, any new columns are automatically added to the field chooser.
  11. Carlitos
    Carlitos avatar
    18 posts
    Member since:
    Nov 2015

    Posted 11 Mar Link to this post

    I am posting this in case it is helpful to anyone. It solves the following cases: 

    1. Renamed/removed/added properties in your Classes
    2. Removed unused columns from the Layout

    Your user will just need to save the Layout once. 

     

    private void RadGridViewReportData_DataBindingComplete(object sender, GridViewBindingCompleteEventArgs e)
    {
        if (File.Exists(_layout))
        {
            radGridViewReportData.LoadLayout(_layout);
     
            // A System.Type
            var reportProperties = _report.GetDataSourceType().GetProperties().ToArray();
     
            foreach (var prop in reportProperties)
            {
                if (!radGridViewReportData.Columns.Contains(prop.Name))
                {
                    // Add columns to the Grid
                    GridViewDataColumn dataColumn = GridViewHelper.AutoGenerateGridColumn(prop.PropertyType, null);
                    dataColumn.Name = prop.Name;
                    dataColumn.FieldName = prop.Name;
                    dataColumn.HeaderText = ToCamelCaseWithSpaces(prop.Name);
                    radGridViewReportData.Columns.Add(dataColumn);
                }
            }
     
            foreach (var col in radGridViewReportData.Columns.ToArray())
            {
                if (reportProperties.Single(x => x.Name == col.FieldName) == null)
                {
                    // Remove columns from the Grid
                    radGridViewReportData.Columns.Remove(col);
                }
            }
        }
        else
        {
            foreach (GridViewDataColumn i in radGridViewReportData.Columns)
            {
                i.HeaderText = ToCamelCaseWithSpaces(i.HeaderText);
            }
     
            radGridViewReportData.BestFitColumns();
        }
    }

  12. Dess
    Admin
    Dess avatar
    1601 posts

    Posted 15 Mar Link to this post

    Hello Carlitos,

    Thank you for sharing with the community how to add the missing columns and remove the redundant ones after loading the layout.

    I have also updated your Telerik points for the community effort.

    Regards,
    Dess
    Telerik
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
Back to Top
UI for WinForms is Visual Studio 2017 Ready