Home Forums WinForms controls Xceed Grid for WinForms Mixed emotions

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • User (Old forums)
    Member
    Post count: 23064
    #15520 |

    Hi,

    I’ve got mixed emotions regarding the XCeed grid.

    Maybe my expectations were too high, but i was hoping that the grid would support columns autosizing like DataGridView in windows.forms does.

    Also, why does it need to show columns for all fields in the datasource when binding at the designer level (as read from another thread). Is it so important that the columns change when i re-bind ? .. how about an option at the grid level to select the kind of behavior we want ?

    My next deception was the designer itself. Why it is not a Wysiwyg designer ?

    If i disable the Grouping header, i want it to not show in the designer, same of row selector column, etc etc … again, some option could be set for this behavior.

    Another deception to me was the poor support for Object Binding. I know it supports object binding source, but i read in another thread that wont support compound fields? Not that Big of an issue thought, cuz its not supported by DataGridView either.

    I know i will end up liking your grid component, just like i love you editing components, just need to get used to it and put out of my mind its designer support for now.

    hope u dont mind if i put up a wish list here :

    – Support for structure object hierachy (Customer.Address.City).
    – Ability to select from the designer which columns i want and dont want.
    – Designer to be more wysiwyg

    Imported from legacy forums. Posted by DarkByte (had 7060 views)

    Odi [Xceed]
    Spectator
    Post count: 426

    I’m not sure I follow you — it seems like the world has been turned upside down 🙂 … We’re the only grid that is truly WYSIWYG at design-time. Unlike any other Windows Forms DataGrid, you can actually just click on the Grouping header (or other objects such as cells, the column header, the rows you have added, etc.), it becomes selected, and then you just hit the Delete key and it is gone from design-time and run-time.

    Other grids don’t do this – you have to go into a configuration dialog box and find the option to disable the grouping header or other object. And you don’t see much at design-time, to understand how your grid will look when you hit F5. On other grids, the entire design-time surface is one single object, you can’t click on each sub-section (group header, row selector, cells, columns, fotter rows, etc.) and edit its properties directly in the Visual Studio property editor box like you can with Xceed Grid for .NET.

    I see what you mean though about deleting columns – it works, but they are recreated (when data bound) the next time you reload your project.

    I think someone else will address your other points.

    Thanks,
    odi

    Imported from legacy forums. Posted by Odi [Xceed] (had 481 views)

    User (Old forums)
    Member
    Post count: 23064

    First, let me apologize for the negative aspect of the post. I know deception comes from expectations, and i probably had too high expectations.

    Ok, you’ve cleared a few things, i’ve removed the grouping header which i dont need for my first use of the grid. I still cant get rid of the Fix handle (low priority) and the Row selector. Anything i could do for these ?

    Why should the grid re-create the columns at bind time ? How about an option for this like done with .net 2.0 DataViewGrid … autogenerate=true/false. Usage scenario: i bind my source with autogenerate set to true. Once i have the columns i wanted, i set autogenerate to false, unless i’m missing some important information.

    I could probably handle the grid’s autosized columns in an event. Not sure which one thought. Any hint would be appreciated. I still think that this would be a very nice feature to have.

    Oh, i love the SourceObject property of DataRow .. nice !!!

    Could anyone tell me if Xceed plans to support multi-level binding for objects ? (i.e: Customer.Address.City) where Customer is my bound object, Address is a class instance containing full address, and City is a value (string in this case).

    Thx for the quick reply.

    Imported from legacy forums. Posted by DarkByte (had 479 views)

    User (Old forums)
    Member
    Post count: 23064

    The multi-level bindings is probably not something we will support in the future. Probably the same for the “autogenerate” feature.

    For the “autosized” column, you can handle the Form or the GridControl Resize or SizeChanged event.

    For the FixedColumnSplitter and the RowSelector, you can only set the Visible property to false.

    Imported from legacy forums. Posted by André (had 324 views)

    User (Old forums)
    Member
    Post count: 23064

    Thank you for the time you take to reply.

    I will have to live without multi-level binding, i can accept this.

    Autogenerate columns should really have a designer bool that makes it optional. It may not look important to users that work directly with databases. But when your source is a business object coming from a library and you make a small change to that library, the grid gets rebounded. This is really annoying to have to put column sizes back to 0, then reorder my columns etc etc … for every change to my library. And is it going to re-generate when i load the project too ?

    Your grid looks nice, is flexible and all but seems to have low support for n-tier design. n-tier should not depend on DataTables, or DataSets or DataAdapters (althought i might be wrong here).

    Regarding Autosizing, i might try your way. Its probably even easier if i subclass the grid right ?

    Regarding the FixedColumnSplitter and the RowSelector. Why u keep them visible at design time when i set their visible property to false ?

    Imported from legacy forums. Posted by DarkByte (had 502 views)

    User (Old forums)
    Member
    Post count: 23064

    It will not re-generate when loading the project, only when the designer is opened.

    Regarding FixedColumnSplitter and RowSelector, the grid keeps these elements visible at design time so they can be selected and set to visible/invisible whatever their runtime state.

    Imported from legacy forums. Posted by André (had 390 views)

    User (Old forums)
    Member
    Post count: 23064

    Ok,

    Just saw that there is an “AutoCreateColumns” property available from code. Why cant this be available at Design Time .. and when comes time to check if you should create new columns when loading the form in the Designer, you make sure this property is set to true ?

    Then, i was thinking about that Wysiwyg part with the RowSelectedPage and FixedColumnSplitter. The reasons you are giving me are simply not valid. You might have other constraints but not the ones you told me. Why ? .. because you can always select the grid object and expand the FixedColumnSplitter or RowSelectorPane properties of the Grid and change their visible attributes from there.

    Here’s a possible compromise:

    When the control is selected, you show them otherwise you follow the visible properties of these objects. Deal ?

    Imported from legacy forums. Posted by DarkByte (had 393 views)

    User (Old forums)
    Member
    Post count: 23064

    The AutoCreateColumns property does not apply to the designer. Moreover, when it is set to false, it does not means that only columns you want will be generated. It is a mean by which you can create the column yourself and set them up as you wish, instead of having the grid generate them for you. But you will still need to have all the columns that are present in the data source.

    As for the WYSIWYG part, this is a design decision, and it is not going to change.

    Imported from legacy forums. Posted by André (had 296 views)

    User (Old forums)
    Member
    Post count: 23064

    “But you will still need to have all the columns that are present in the data source.”

    If i understand well what you’re saying in this sentence. My source, a BindingList<object> or BindingSource to a List<object>, has to get all its properties bound to the grid ?

    Does this mean that for a list of products, i need to add columns for 15 properties when i only want to display 2 columns, even when i set AutoCreateColumns to false ?

    Imported from legacy forums. Posted by DarkByte (had 354 views)

    User (Old forums)
    Member
    Post count: 23064

    No, this is my mistake. I should have stated that you can initialize only the columns you want when setting the AutoCreateColumns property to false, but this can be done in code only, not in the designer.

    Imported from legacy forums. Posted by André (had 380 views)

    User (Old forums)
    Member
    Post count: 23064

    Oh, okie, you got me worried there for a few minutes. 🙂

    But that’s ok, we’re all entitled to typos and mistakes. I’m the first to do many of them.

    Thanks for the fast reply.

    Imported from legacy forums. Posted by DarkByte (had 371 views)

    User (Old forums)
    Member
    Post count: 23064

    Finally Figured out how to hide the RowSelectorPane from the designer. Set its width to 0.

    🙂

    Imported from legacy forums. Posted by DarkByte (had 8253 views)

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.