This is a migrated thread and some comments may be shown as answers.

Documentation is frustrating

9 Answers 177 Views
GridView
This is a migrated thread and some comments may be shown as answers.
ManniAT
Top achievements
Rank 2
ManniAT asked on 17 Dec 2008, 06:28 PM
Hi,

I tried to solve a (I guess) very common task today - and checked the help for this.
I found - almost nothing :(

I compare this to my "Telerik Gateway Drug" .ASP.NET Controls :(
Looking at the ASP.NET Grid there I find "Functional Overview" - "Getting Started" and so on.
With WPF I find -- a number of "overview topics" - nothing more.

Back to my task - I have a grid which shall display 3 Columns of data.
Lets say - ProductName, Price, Tax
Since Price and Tax would no become very large I fix there width to 100.
What I tried to approach was to set the width of the name column to be "Stretching".
First approach Width="*" -- fails with an exception.
So I decided to leave out the Width attribute.

Since the Documentation gave me no information I tried it with the samples.
By luck I found that there is a property called CollumnsWidthMode.
Anyhow - whatever I set it gave me "strange" results.

How can I do what I want - First Column "filling" the widht of the grid, the other 2 columns with a fixed width?

I'm a customer over years.
More and more it looks as if you build functionality after functionality - and stop documenting the things.
You build great examples - and if (by luck) one fills the needs we have a good starting point for a solution.
If not - bad luck :(
And - it is extremely time consuming to browse numbers of sample files just to pick up a snippet there and an other snippet somewhere else.

My idea -- you (your developer team) started up with "beeing new" - and therefore you also knew how hard it is to solve problems.
And you documented it - making it very easy for your customers to use the controls.

Now you have a lot of expiriences - and have no problems to solve even complex tasks. And by this you forgot that your customer (at least a lot of them) do not have your skill and get stuck with this minmalistic documentation.

I did the work and counted the entries about a comming task (for me) -- hirarchical data binding.
In ASP Grid I find 12 Topis about this and EXTRA 8 "how to" Topics.

In WPF Grid I find exactly ONE entry about this - containin a extreme simple solution.
The so called documentation about this topic has less than 20 Lines of explanation.

I had the same problems with Gauge in Silverlight (where the documentation is completely missing).
And by this I learned an other thing about your new products -- they became extremely complex in the last years.
Of course they do much more and are therefore more complex -- BUT a competitor of you showed me that it does not have to be like this.

They also have a gauge - and they provide a PDF file "Getting Started" -- and with two lines of XAML you get a working Gauge.
It's simple, It's proper documented -- and it also allows complex scenarios and great looking results.

From another competitor I downloaded a free (not trial - really free) Grid Control.
It also provides very good help -- and with it I could solve my "Grid Problem" in about 10 Minutes.

CONCLUSION:
Why do I buy a control suite?
-My work is to solve customers problems, to design an write software.
-With I control suite I expect to save a lot of time.
What WAS my relation with Telerik?
I found you years ago on the web. I gave your navigation suite (for ASP) a try and learned three things:
a.) Great functionality and intuitive use
b.) Very good support - the reaction time was great - and all my problems got solved.
c.) Your controls did what the "orginals" (MS included) controls did - but better, easier and more stable.
What IS my current situation?
I get a bunch of new controls.
From release to release there is more functionality.
The documentation becomes worser with every new product (feature).
Take it and use it is over - there is (almost) no "out of the box" functionality.
Problems do not get solved over months.
---Example WinForms Tab Control.
----The MS Control begins to scroll if I add more elements than displayable.
----Your control does not scroll at designtime -- it is almost impossible to build a solution with a "buch of tabs"
----This problem is known -- and there was a promise "....will fix this with the next release...."
----Not fixed till today!!!!

In a view words:
I tried to solve a common task with your grid.
I could not find anything in the documentation.
Even to give the grid "a bit of the wanted look" took me hours browsing your samples.
--Taking a free grid made me solve the problem in about 10 Minutes.

You remember: I (and I guess most of your customers) buy a control suite to develope FASTER and to be able to concentrate on "my part of the job".

Regards

Manfred
PS: please excuse my english - I'm from Austria :)

9 Answers, 1 is accepted

Sort by
0
Hristo Deshev
Telerik team
answered on 18 Dec 2008, 02:53 PM
Hi Manfred Pohler,

Let me address the specific issue of setting a column's width to * first. I just checked with the Q3 release, and I was able to achieve to fixed width columns and a third one that occupies the rest of the space by setting its width to a *:

<telerik:RadGridView Name="RadGridView1" AutoGenerateColumns="False" ColumnsWidthMode="Fill"
    <telerik:RadGridView.Columns> 
        <telerik:GridViewDataColumn UniqueName="Name" Width="*"></telerik:GridViewDataColumn> 
        <telerik:GridViewDataColumn UniqueName="Price" Width="100"></telerik:GridViewDataColumn> 
        <telerik:GridViewDataColumn UniqueName="Tax" Width="100"></telerik:GridViewDataColumn> 
    </telerik:RadGridView.Columns> 
</telerik:RadGridView> 
 


The only catch is that you have to set ColumnsWidthMode to Fill. I consider this a bug, as we should be able to do the right thing even without requiring users to set that property.

Now onto the documentation part. I fully agree that our documentation is lacking in many areas. It does not get even close to the depth that the ASP.NET documentation covers the respective grid control. This all has a single cause: the control is relatively young -- it has been released officially this summer, and we have not had the time to evolve the documentation to the level that the ASP.NET one has grown.

I don't want to leave the above as an excuse for doing a poor job at documenting the control.We are working on extending the documentation and building a corpus of knowledge base articles and code library projects. We are addressing issues that pop out from support tickets and customer feedback, so that we cover the most popular features and usage scenarios first.

For now, all I can say is to keep your feedback coming and to rely on our support team to help you in the process of integrating the grid control.

Best wishes,
Hristo Deshev
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
ManniAT
Top achievements
Rank 2
answered on 18 Dec 2008, 04:11 PM
Thanks for the sample you provided -- and YES IT WORKS!!
First I thought that the missing of ColumnsWidthMode
is the source of my problem.
BUT I had this parameter also set in my project.

I totally reduce my project (the part with the grid) to what you did -- I still get the error.
It took me some time to figure out the problem but now I got it.

Please change the provided project so that the binding is not done in the constructer.
What I mean is - add a button and copy the bindig code to that button handler.

You'll end up with code like this:
    public partial class Window1 : Window  
    {  
        public Window1()  
        {  
            InitializeComponent();  
 
        }  
 
        private void button1_Click(object sender, RoutedEventArgs e) {  
            RadGridView1.ItemsSource = new Product[] {   
                new Product { Name = "Product 1"Price = 12.5, Tax = 10 },  
                new Product { Name = "Product 21"Price = 12.5, Tax = 10 },  
                new Product { Name = "Product 31"Price = 12.5, Tax = 10 },  
                new Product { Name = "Product 144444444444"Price = 12.5, Tax = 10 },  
                  
            };  
 
        }  
    }  
 

And as a result you get the crash I get.

By the way - I found a workaround for your simple solution.
In the constructor simply add a "null binding" like this 

RadGridView1.ItemsSource =

new Product[0];

 


It seems as if this initializes your grid and later it works as expected.
Unfortunately I guess this will not help for my problem since my User is able to choose from different DataSources.
Using CompositeCollections (or TemplateSelectors) the layout shall be defined.
So the column with the flexible width will change at runtime - I can't "preset" it.

Since time is a matter in my project I decided to use the Microsoft WPF Datagrid instead.
It has no grouping and such extended features - but it fit's my needs - and it is for free.

A last fes words about documentation.
You are right - WPF Controls is a relatively new product.
BUT - two things:
a.) I mean to remeber that your ASP controls have been provided with excellent documentation from the very first moment.
b.) You have been quite far behind your competitors with WPF / Silverlight.
--And in the last few months you built a lot of things they have.
--So you are again close to the moste of them

BUT the price for this must not be lowered quality.
Quality means (from my point of view) in the case of a "Control suite" to fullfill the product approach.
And this is to raise the productivity of your customers.
Coming back to ASP you did an excellent job.
--Everthing works as we (your customers) expected it / knew it from the MS Controls
--We got perfect documentation
--We got stable products

So instead of investing a lot of hours to customize the MS Controls for my need I used yours - and got what I need.
No great learning curve - the moste things have been the same as with the "well known" MS things.
Great lock - just with a few setting.
Enhanced functionality - with almost no line of code.
Fast developement - almost every "strange thing" could be solved via help.

That is why it made it worth to buy these controls.
And that is what I am missing in the new things.

Regards

Manfred
0
Hristo Deshev
Telerik team
answered on 19 Dec 2008, 02:07 PM
Hi Manfred Pohler,

I am glad you found the workaround. I reproduced the exception too. I also checked the SP1 release, and the exception does not occur there.

I feel your pain with regards to the documentation. I have escalated the issue to all the teams building controls for the WPF/SL suites, and we have committed to put the extra effort in improving significantly the documentation for our Q1 2009 release. Being a former ASP.NET team member, I am familiar with the degree of quality we should be after, and I think we can bridge the gap between those suites fast.

Once again, thanks for your feedback! It really stirred a great discussion both here, and internally at Telerik.

Regards,
Hristo Deshev
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
ManniAT
Top achievements
Rank 2
answered on 19 Dec 2008, 03:26 PM
Hi,

first of all -- YES I found a workaround.
BUT - it is not helpfull for my situation because this workaround needs that the data (or a dummy) is loaded in the windows constructor.
And with my app - data changes at runtime, so I can't create the things in the constructor.

Anyhow - I use the MS Provided datagrid at the moment this helps although it is also a bit tricky :)

About the discussion here.
I'm also glad that I'm heared.
Because I discuss for one reason -- over years I was satisfied with your products and I don't want to switch to someone else.

And by reading the forums here I found that I'm not the only one unhappy with the documentation at the moment.

So if I may sometimes sound "unpolite" or something like this - it is by the fact that my native language is german.
I want to let you know my problems - beause I think it is the best way to get something changed in the (near I hope) future.

And I really want to use your products also in the future.
Otherwhise I would not discuss here - I would simply go out and buy another product.

Regards and thanks for the help

Manfred
0
Hristo Deshev
Telerik team
answered on 20 Dec 2008, 03:07 PM
Hi Manfred Pohler,

I am sorry to hear that you had to use another product. Like I said we've fixed the exception in our service pack release that went live yesterday.

I think we are having a pretty productive discussion, and I hope there were no hurt feelings on both ends :-).

Regards,
Hristo Deshev
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
ManniAT
Top achievements
Rank 2
answered on 20 Dec 2008, 04:03 PM
I'm installing the bits at the very moment and will give them a try after this has been done.

About "an other product" - yes I gave the MS WPF Grid a try.
BUT - it is not an "included product" like the other controls it is provided via the "WPF Toolkit".

This means in other words - no online help, poor documentation and so on.
Also from a look at their forums I learned that the have a lot of problems with some controls.

So to use it was just a "what else should I do" solution.
If the fix helps I would be glad to use your Grid instead.

Let's see what the fix brings - I'll inform you ASAP.

Regards

Manfred
0
ManniAT
Top achievements
Rank 2
answered on 20 Dec 2008, 05:23 PM
Hi,

YES the bug has been fixed - thank you.
It works (almost) like I expected.

But with the very first try I ran into another problem.
I used your sample to see if it does what I need - with the difference that my data gets loaded with a button.
When I run the App and bind data it looks like this:
oooo represents the "black background".
oooNameooooooooooooooooooPriceoooooTaxooo
If I expand the window I get
oooNameoooooooooooooooooooooooooooooooooooooooooooooooPriceooooTaxooo
Thats what I wanted - great.

Now the problem:
I start my App and get
oooPriceoooooTaxoooooooooooooooooooooooooo

So the columns "Name" is hidden - instead the last column is displayed very broad.
This effect goes away if I give the Grid a fixed width.
But that is not intended (if so I would not need a "varialbe width column").

And a second problem also arrives!!
After I load the data I get a horizontal scrollbar.
When I resize the window (even if I make it smaller) this scrollbar goes away.

By the way this alos occures if I give the grid a fixed width.
Here I can get rid of it by resizing on of the columns.

If I load the data in the constuctor (like in your first example) I don't get this scrollbar!!!

Next thing - I select (via properties panel) a different theme.
I guess (not sure) the dropdown should show some kind of a "preview".
Anyhow I get a list of "styled elements" all looking the same.
And if I select OfficeBlack the designer throws an exception
"System.Windows.Documents.Run" ist kein "Visual" oder "Visual3D".  
   bei MS.Internal.Media.VisualTreeUtils.AsVisual(DependencyObject element, Visual& visual, Visual3D& visual3D)  
   bei MS.Internal.Media.VisualTreeUtils.AsNonNullVisual(DependencyObject element, Visual& visual, Visual3D& visual3D)  
   bei System.Windows.Media.VisualTreeHelper.GetParent(DependencyObject reference) 

Clicking reload crashes VS.
Restarting VS and again selecting OfficeBlack it works.
Then choose caramel - works.
Back to OfficeBlack - crash.
Not that problem - since doing it in code it makes no problems.
Allthough the preview of OfficeBlack looks "strange".(first columns white - the rest "gray") while the other styles work like expected.

CONCLUSION:
I get no longer a crash when loading the data on demand with a flexible column.
The "varaialbe length column" does not display as long as no data is bound.
---What I expect when I say FILL to the ColumnsWidthMode
Loading the data brings a scrollbar allthough there is no need for it.

A few questions
-- I tried to set a "MinWidth" (Like in your ASP or WinForm Grids) -- it looks as there in no parameter like this.
-- How can I prevent the user from changing the size of a column (Like AllowResize in ASP / WinForms)?
------Or at least general disable the user to resize columns?
--Is there a workaround to get rid of:
-----The "missing column"?
-----The unneeded horizontal scrollbar?

Regards

Manfred


0
ManniAT
Top achievements
Rank 2
answered on 20 Dec 2008, 07:31 PM
Hi,

I gave the things a bit more testing and found out some other things.

No display of designtime data.
I provide desgintime data like I do it with most of my projects just to see how the controls will look with data.
While the built in controls do display this data your GridView does not display anything!

About the horizontal scrollbar - I found a few other things!
Additional to the other effects I got another one.

Reduce the sice of the window until the Grid must scroll vertically.
Again you get a hori scroller.
Now make the window wider - the scroller goes away.
BUT - when you change the width of the window the scroller is always displayed for a short time (part of a second) an goes away again.

This effect is independant if you load data in the consturctor or not.
As soon as you reduce the window heigth you get the horizontal scrollbar.

It looks a bit as if this fix was made just to avoid a crash with the * given as width.
Not very much tested - otherwhise someone should have seen the irritateing horizontal scrollbar.

I still hope there is a workaround so I can use the GridView in my application.
At the moment this is not possible - my customers take much care about a "professional look".
--And "crazy scrollers" interfere with this I guess :)

Since there is no way for me to attach files to a post I provide a download of the sample via the following (time limited) link:
http://www.pp-p.com/gvcw1.zip

Regards

Manfred
0
Hristo Deshev
Telerik team
answered on 23 Dec 2008, 01:13 PM
Hi Manfred Pohler,

Thanks for the project. I have confirmed the bug, and we are working on it. I hope we can get to fix it the next couple of days and get you an unofficial build that can get you going further in your project. Now that JTango has also reported the same issue, I am raising the priority, as this seems to be causing lots of grief to customers.

I will keep you posted on the progress.

Sincerely yours,
Hristo Deshev
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
Tags
GridView
Asked by
ManniAT
Top achievements
Rank 2
Answers by
Hristo Deshev
Telerik team
ManniAT
Top achievements
Rank 2
Share this question
or