Mehul Harry's DevExpress Blog

This Blog

News


Mehul Harry is the DevExpress Web Program Manager. Follow him on twitter: @Mehulharry

Subscribe (RSS, Email)

Archives

July 2007 - Posts

  • ASPxGrid: Should You Upgrade to ASPxGridView?

    If you're currently using the ASPxGrid then you might have wondered if you should transition from the ASPxGrid to the ASPxGridView.

    Please note that if you're currently using the ASPxGrid then conversion will not be easy and we recommend that you only switch when ready.

    The ASPxGrid has been around for a few years now and even though it's been deprecated as of the v2007 vol 2 release, it will continue to be supported for the indefinite future. What that means is that you can continue to use the ASPxGrid secure in the knowledge that support will help you and that any bugs you find will either be fixed or worked around. Note that enhancements will no longer be made to the ASPxGrid.

    But if you want to upgrade to the ASPxGridView then what are your options?

    ASPxGridView.ConvertFromASPxGrid()

    Unfortunately, there is no ConvertFromASPxGrid method. Why not? Simply because the two grids are very different by design and operate in fundamentally different ways.

    When you're converting any project from one grid to another grid, you are in for a bit of work. It's not a trivial task to simply replace the ASPxGrid with the ASPxGridView.

    Help is on the way

    Our excellent support department, myself and others are here to help you figure out the new ASPxGridView so you can transition your project to take full advantage of the ASPxGridView.

    Should you switch?

    For new/rewrite projects, the answer is an absolute Yes!

    However, if you have heavily invested in the ASPxGrid in your current projects and there is little or no time to convert them, then no.

    The ASPxGridView offers many more advantages that are well worth the effort and time it takes to convert.

    Where's the Designer?

    image

    Fans of the ASPxGrid will know the designer quite well. The designer is invoked from the ASPxGrid's smart tag. Oddly enough, it was created to solve some of the shortcomings of the ASPxGrid. However, it turned out that many of you liked the designer.

    The designer has not been recreated for the ASPxGridView and there no plans to recreate it.

    While you may miss the designer, you'll find that it's not necessary with the ASPxGridView. Take a look at the smart tag and properties window from the ASPxGridView:

    image image

    Notice how the most common tasks are easily available through the smart tag?

    In fact, the overall API for the ASPxGridView has been vastly improved so you'll easily find the properties categorized within the Visual Studio properties window.

    How do I call [this] method in ASPxGridView?

    If you cannot find a particular method/property or you're having trouble converting your project then simply ask us. In the coming months we're planning on publishing and maintaining an FAQ on grid conversion as your questions come in and we answer them.

    Do you have any conversion concerns that you would like to see addressed?

  • The New Developer Express Homepage

    Stylish, Wider and Faster

    We just overhauled the Developer Express homepage to make it more useful and relevant for you.

    You can see the new homepage here.

    image

    You'll also notice that the page is much wider than used to be. Looking at the Google stats, most of you are using much wider displays now. The previous page was good but because displays have changed it was time for the homepage to change as well.

    A responsive website is still one of your top concerns. Therefore, the new page loads even faster now.

    So, what's new?

    What do you usually like to see when you get to any company's homepage? 

    The information and/or links to the information that is relevant to you. Whether it's about a product, download, support issue, latest news, blog entry, trial, or a demo.

    Let's take a look some of the new sections:

    Latest product highlights

    image

    You'll find the latest product/feature banners. These aren't the random Google ads you'll find on other sites. In fact, no where on our site will you find such ads. These ads aim to showcase the latest and greatest.

    Announcements, Support & Community, Demos & Resources

    image

    The Latest News brings you the short, quick, get-to-the-point announcements.

    The returning clients will find the Support & Community section very helpful. Support & Community brings the common links for you to find answers.

    When you're looking for hands-on product information and/or demos, you can easily find them under Demos & Resources.

    Blogs Now Front and Center!

    image

    This next section is a favorite of mine because it highlights our blogs. Yes, the same blogs you're reading now. With the blogs you'll find the transparency. The voice that speaks and listens to you.

    You'll also find the more expanded news items. Like our recent awards from TechEd or asp.netPro magazine.

    Product and Subscriptions

    image 

    You'll find the our product and subscription links here. Conveniently arranged for you into the different technology categories.

    In Search of...

    image

    You can still our Search and Main Menu at the top. There isn't much that has changed here. In fact, there are plans currently to improve the searching capabilities. How? Well by incorporating technology from the king of searches but more on that later.

    These changes are all meant for one purpose, better serving you, the customer.

    How do you like the new layout?

  • HOW-TO: Implement eBay's Slick Dropdown Popup -- Part 2

    Surprised?

    In the previous eBay post, I mentioned eBay's Slick Dropdown ComboBox.

    Slick seems like an accurate word.

    If you take a look at the above mentioned combobox on eBay's site (Under My eBay) then you'll find something very interesting. Here is the ComboBox before clicking on the dropdown:

    image

    Here it is after clicking the dropdown:

    image

    Do you notice something peculiar? It's not a DropDown ComboBox at all. It's just a cleverly disguised Popup control.

     

    ASPxPopupControl to the Rescue

    You easily can create popups like this with the versatile ASPxPopupControl. Do you want to see a sample? No problem.

    Attached to this post is a sample you can open in Visual Studio 2005 with our DXperience or ASPxperience v2007 Volume 2 ASP.Net controls installed.

    You can download the sample here: ASPxPopupControl_eBay_Sample.zip

    The sample code shows that you don't need to do much to achieve the same look and feel. Let's take a further look at this sample:

    image

    The top button placed in a small 2-column table with a dropdown image labeled Image1 next to it.

    Then place an ASPxPopupControl and set it's PopupElementID to Image1. This will activate the popup when the dropdown image is clicked. This method leaves the button free to still be clicked as a separate command and still have the dropdown activate the popup control to display more options (or links in this case).

    To get the same look as eBay's, you'll need to do some HTML coding and set some more properties. There isn't very much to create and luckily you can find this already coded for you in the sample. Within the ASPxPopupControl is a panel with a table and some links inside of it:

    image

    Now simply run the project, click the dropdown image and we have the slick eBay-like dropdown made with the ASPxPopupControl:

    image

    As you can see there is no difference in look or functionality. You can create some amazing and versatile websites with the ASPxperience Subscription.

    Other Resources

    You might also want to check out these cool online demos of the ASPxPopupControl:

    Features, Templates - Shows you how customizable the ASPxPopupControl is.

    DataBinding - Very slick. You'll find ways to use this after seeing this demo.

    ContentUrl - You might find this handy to allow your customers to give you feedback.

    Transparency - Yes, you can create something similar. Take a look at the ASPx page for the sample's code.

    Client-Side Events and Functionality - If you need, the ASPxPopupControl supports a powerful Client-Side object model.

     

    Note: If you're curious about the colors and fonts used in the screenshot above, from my Visual Studio 2005 IDE, then check out the following posts:

    In search of the perfect monospaced programmers font - Inconsolata

    Is Your IDE Hot or Not?

  • HOW-TO: Implement eBay's Slick Dropdown ComboBox

    A customer recently asked about a control they had seen on the popular e-commerce site eBay.com.

    It was described like this:

    I noticed that ebay has a dropdown combo box but with links in it.  The
    cool part about it is the fact that it combines a command link (one click
    to activate action) and a combo box (click down arrow for more action).

    You can achieve this easily with the ASPxComboBox. Simply drop an ASPxComboBox onto your webform and using the smart tag, click items. Now add some items using the Items Editor. Here I've added three popular websites:

    image

    You'll now want to wire the Client-Side event for the ASPxComboBox to open the selected item. So using the great help documentation to find the Client-Side event for the ASPxComboBox (search ASPxCLIENTComboBox in the help). The SelectedIndexChanged method will work nicely. Now simply add the call to open another window once the ListItem has been selected:

    window.open(ASPxComboBox1.GetValue()); // You can add more params to control the javascript window.open call.

    image

    To get the look of hyperlinks, set the ItemStyle's Font Underline property to true. Also, set the ItemStyle's ForeColor to Blue.

    Run, click on an item and you have URL-Enabled ASPxComboBox goodness.

    image

  • Improved Documentation: Explore The ASPx Client-Side Events

    Yesterday, someone asked if it's possible to have the ASPxGridView go into EditMode as soon as a row is clicked.

    The first thought was to simply 'Enable Editing' from the Smart Tag menu of the ASPxGridView. This will add another column to the grid with command links labeled Edit:

    image

     

    However, they didn't want to use any command links. Instead, for their particular UI, it was necessary to edit the row as soon as it was clicked.

    So a Client-Side event would be necessary here. Which one?

    The great news about the new ASPx Suites is the improved documentation. Now you can easily find methods and properties for the Client-Side objects.

    To find any of the Client-Side events, simply insert the word Client after ASPx in the ASPxObjectName. Therefore, to find the Client-Side events for ASPxGridView simply search the help for ASPxClientGridView.

    ASPxGridView = ASPxClientGridView

    ASPxComboBox = ASPxClientCombobox

    ASPxMenu = ASPxClientMenu

    ...  You get the idea.

    Using this technique, it was easy to find the StartEditRow() method for the Client-Side ASPxCLIENTGridView. Now, to simply attach it to one of the Client-Side events which are easily accessible from the ASPxGridView smart tag:

    image

    This will give you access to Client-Side Events Editor. Find the RowClick method and add the following line of code to put the ASPxGridView into EditMode as soon as it clicked on a row:

    ASPxGridView1.StartEditRow(e.visibleIndex);

    The Client-Side methods already contain the function skeleton and you simply need to add your code. In this instance, the StartEditRow is called with the current visibleindex (from the e/args parameter) that was clicked:

    image

    Now every time the row is clicked, it will enter into EditMode.

  • ASPxGridView Cool Feature: Column Header Parsing

    Problem:

    Do you have database column names that look like this?

    image

    As we all know, database column names are rarely created with the end-user in mind.

    Cause:

    As you probably know, the developer or dba generally base the name on the column definition. Therefore, the first name will probably called FirstName, last name = LastName, and so forth.

    But would you really want to display these unformatted column names to your end-users?

    Possible Solutions:

    In most cases you'll want to correct the column names before the end-user ever sees them. You can solve this problem in a couple ways. However, they are not the most elegant solutions:

    1) You can change your query to display the correct name. This requires you do extra work of rewriting each column name correctly, i.e.:

    SELECT FirstName AS "First Name", LastName AS "Last Name" ...

    2) Or you can change it in the grid. This too requires you to do extra work.

    A Better Option:

    Ideally, you want your grid to be smart enough to figure out that if the column is labeled, CustomerID, then "Customer ID" should be displayed.

    ASPxGridView does this by default. See for yourself.

    That Invoices query from above is now displayed correctly within the ASPxGridView:

    image

    Did you notice how the column names are already formatted for you?

    You can save time by not having to re-code every column name.

    Under Your Control:

    You may not always want the smart parsing, so with the ASPxGridView you have the power to choose.

    You can set the Caption property of the column within the columns collection of the ASPxGridView. Let's take a closer look:

    Simply set AutoGenerateColumns to False and Refresh the Schema:

    image

    The Columns collection is now rebuilt using the column names that were specified in the query. You can still set the Caption property of any of the columns to your liking:

    image

    What if you wanted to use the smart parsing but still have custom names on some columns? No problem.

    You can also use the Caption property together with the smart name parsing.

    With AutoGenerateColumns set to True, simply assign the column name during runtime:

    protected void ASPxGridView1_DataBound(object sender, EventArgs e)
    {
        ASPxGridView1.Columns[0].Caption = "Vessel Name";
    }

    Best of both worlds:

    image

    Pretty cool, huh?

  • ASPxGridView Advantage #1: Grouping Done Right

    The Problem:

    When you enable grouping in your grids, a certain behavior is expected. Microsoft Outlook and other great programs have made us expect certain actions and look-and-feel.

    Whether you're expanding, collapsing, adding or removing from the grouped rows, you expect one thing: a smooth and proper display of the grid after the grouping operation has taken place.

    The Solution:

    That's exactly what you'll get with the ASPxGridView. Smooth operations without postbacks. You're now able to enhance and enrich your customers experience by simply using a better grid, the ASPxGridView.

    Example #1, Proper Collapsing:

    For example, when displaying ten rows per page like this ASPxGridView Grouping Example:

    image

    If you collapse the top grouped row labeled Argentina then you'll except to see the three rows disappear under the Argentina grouped row.

    No problem, however, with ten items per page displayed, you'd also expect to see three items take it's place. A weaker grid will simply collapse the viewable area.

    ASPxGridView will show three more items to replace the collapsed area:

    image

    The Argentina grouped rows has now been collapsed. In it's place, appearing at the bottom of the grid, are the items from Page 2 (the Brazil Grouped Row). Brazil having more items is also labeled "Continued on the next page".

    Example #2, Better Grouped Rows Display:

    If you navigate to the 2nd Page, you'll see a very useful feature that is unique to the ASPxGridView:

    image

    Instead of wasting space with another grouped row for Brazil, there is a special icon on the first row which is continued from the previous page. If you mouseover this icon then you'll see the hint labeled "Country: Brazil". You can now show more with the grid because less space is wasted to redisplay unnecessary items.

    Example #3, Real ViewState:

    When swtiching between different pages, you don't want to have the view reset. Maintaing viewstate is an important feature to you and your customers. Therefore, the ASPxGridView uses a very lightweight and accurate implementation to maintain viewstate.

    You'd be surprised that many grids are not capable of maintaining proper viewstate between page changes. Navigate back to Page 1 on the same demo and you'll be pleasantly surprised to see this from the ASPxGridView:

    image

    That's right, it's the Page exactly as you have left it with the Argentina grouped row collapsed.

    It's in the details...

    Can these small details benefit your application? Absolutely!

    After all, it's this type of attention to details that we all look for and hope to provide to our customers. 

  • Introducing the ASPxGridView... The Answer to Your ASP.NET Grid Concerns



    Introducing Developer Express's New ASPxGridView, drop into your project and suddenly:

    • Blazing Fast Load and Response Times !
    • Lightweight - Low Memory Profile !!
    • XHTML v1.0 Compliant for Cross-Browser support
    • Microsoft AJAX Compatible
    • Easy to Configure and Use
    • Powerful Templates Customization
    • Speed (Worth mentioning twice)

    Background, It all started with your comments

    By now, you may have already heard about the Fantastic new ASP.NET Web Grid, the ASPxGridView. If not, then here is a brief history that may interest you...

    Many months ago we decided to shake up the ASP.NET marketplace. Why? By listening to You, our loyal customers. You told us that you needed more from a web grid than what you found out there.

    So after taking a good hard look around the marketplace, we decided that there was still room for improvement. Although at the time we didn't realize how much room. We had a decent solution but we're never satisfied with just decent. So it was back to the drawing board.

    Your Concerns and Problems

    The major web grid problems that you reported were:

    • Microsoft ASP.NET AJAX support
    • Proper CSS support
    • XHTML rendering
    • Performance
    • Reliability

    Among these issues, you said that the biggest of your concerns was the Performance and Reliability factor of many web grids. If you have a 100,000 record table that requires sorting, grouping, summaries, etc., then you want the grid to react quickly without taking out huge chunks of processor time or memory on your web servers. You and your users expect a web grid to behave smoothly without costly and annoying postbacks.

    The R&D Devs

    In listening to your concerns, our R&D team made it clear that to build a proper web grid, one that is capable of such feats, we would have to start from scratch. Build it from the ground up using nothing but the .NET Framework v2.0 technologies and also our existing proven shared libraries. This is was only way to address your concerns for performance and features. You wanted a grid that is capable of being dropped on the form and ready for action without any code. This was only going to be possible by starting fresh.

    WHAT, A New Grid?

    To understand why it's necessary, you have to look at how most third party web grids have evolved. Most started with the Server-side implementation. Next came the client-side version. Finally, AJAX entered the picture and yet another layer was added to most of these grids. These cycles usually occurred over several years and due to several factors, most web grids lost their way. Inconsistencies, incompatiblities, etc.

    We weren't excluded from this category either. So the tough but correct decision was made to create the best web grid that would take into consideration all the issues from the start. With your high expectations and goals in mind, we embarked on the risky venture.

    Our Experience + Hard-work = Success for You

    The moment you first drop the grid and bind it to some datasource, your first impression will probably be, "wow, this is fast". Imagine how excited your users will be when they see the improvements you've made to the project just by changing the key data representation tool that is used.

    You'll immediately notice that everything is setup as callbacks out-of-the-box. There won't be any need from you to look for a property that is hidden somewhere. You'll find that the properties and API have been vastly improved. 

    You'll feel good knowing that the grid meets all the requirements and high expectations you've been looking for. You won't have to ask if there are problems working with Microsoft's Update Panel or ASP.NET AJAX because at the heart of the ASPxGridView, the same Microsoft callbacks technology is used.

    You can rest assured that the CSS support has been thoughtfully designed to make it easier for you to maintain and implement styles and themes.

    Lastly, you'll be amazed when you realize that with the ASPxGridView and our included XPO technology, you can manage LARGE datasets WITH EASE. You can feel the difference because instead of waiting minutes to sort a 300,000 record table, the ASPxGridView will sort it in as little as 2 seconds.

    You're in exclusive company

    We're not too shy to say that the ASPxGridView's capabilities are unmatched by any other grid in the ASP.NET marketplace. With the ASPxGridView, you can handle large datasets, do true grouping, accurate summaries, enjoy cross-browser support, fast custom lightweight viewstates, and much more.

    Take the Challenge

    Test drive the new ASPxGridView and see for yourself just how good it is.

    Here are the online demos that we hope you hack at to your heart's content.

    Or better yet, you can download our latest DXperience v2007 Volume 2 and create a project for yourself against your own database. If you don't think the ASPxGridView is easy to setup and get going on then let me know. I want to hear your thoughts because that is how the ASPxGridView was originally born and that is how it will improve.

    Tell me more

    In the coming posts, I'll highlight some specifics of the ASPxGridView that are key advantages and benefits.


LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners