|Home||Back to Index|
The current standards of the company I work for state that Developer Express controls will be used instead of Microsoft FCL controls on all deployed WinForms applications. This has caused some grief in the past. One tool vendor for GUI testing supported only FCL controls without expensive customization. New hires aren’t familiar with the controls. Since we develop in-house software, DevX version upgrades require GAC deployments of the redistributable assemblies. Our shared assemblies that depend on DevX must be kept in sync. The third-party controls do not appear to be tested as rigorously as the Microsoft controls. And common properties are sometimes difficult to find, buried under options properties.
The controls (the grids in particular) do have some nice features. But there are drawbacks.
Today I was trying to data-bind a collection of objects to a DevX grid. The objects had properties of an enumerated type. I wanted to display the value of the DescriptionAttribute for the enum columns. After asking around and searching, I posted the question on Stack Overflow and got a great response from Marc Gravell. It works beautifully with Microsoft’s DataGridView.
Unfortunately it does not work with the DevExpress.XtraGrid.GridControl. And Developer Express “are not going to implement this feature”. Why? Because it’s not as performant. The company offers an alternate solution, which involves setting two properties for every affected grid column. The original Microsoft solution could be applied with an attribute on the enum type or on the bound-class property.
I’m not advocating using only FCL controls. Just be aware of the trade-offs inherent in using third-party ones.