Questions about ScrollingGrid

Paschal seems to have a few issues with my new server control. Outstanding, I love to answer questions! :)
 
His first question was "Robert, why do you sell these controls? Why not just give them away?" Well, Paschal, the answer is simple. I run a business. Some people have day jobs, where they go and write code for other people. This is my day job. It's how I make my living. I don't give my code away, but at the prices I sell them at, I practically do anyways. I spent a lot of time building these solutions. I also give away a lot of my secrets if you read my weblog often enough.
 
Paschal then asks "How do you trademark a feature that is a part of Whidbey?" Well, the trademark is not on the feature (because that would be called a patent). The trademark is actually on the name itself. I don't believe that this feature is a part of Whidbey, you may be referring to "out-of-band callbacks" which is a really exciting and completely unrelated feature.
 
He goes on to ask, "Why not use an HTC?" The answer is simple, and I did mention it in my post. HTCs are not cross-browser compatible, and are completely reliant on the client-side. We were looking for more of a server-side approach, and only use script to handle the ScrollBack Retention, which is not a part of the original HTC functionality, and can be shut off if desired.
 
His next question is a tad more pointed: "Didn't you rip off this code from Dino Esposito a month ago in ASPnetPRO magazine?" While I would typically not make such accusations in public, I can say with certainty that the answer is no on two fronts: No, because the code was written nearly 12 months ago, and no because he handles the solution completely different than we do. We have not taken any code from that control to accomplish what we do in our product.
 
As you can see in our demo, the control renders completely different than Dino's example. Dino's example is the same as David/Julia's solution.
 
Sure, if you wanted to, you could write the code from his article. But you wouldn't keep your position on postback, and it wouldn't show you how to reflect against your application automatically to do some work depending on whether or not an HttpHandler is registered in the web app (which is something that, to our knowledge, has never been tried in a server control before).
 
My bet is that you'll just save yourself a few hours and pay the measly $10 to use the control as many times as you like. If you don't, hey baby that's capitalism.
 
But Paschal didn't stop there. He posted his solution to the problem as well. Outstanding! it's really great to see the community at work, giving people lots of solutions to choose from. It's definitely nice to be able to have options. I wanted to take the opportunity to point out a few major differences between the solutions.
 
1) His solution requires you to construct the stationary header by hand. ScrollingGrid handles this automatically, using the same designer techniques as the standard DataGrid component. If your headers change in your DataGrid declaration, our reconstructed headers will change automatically for you. His solution is hardcoded, and therefore won't handle that. And ScrollingGrid handles the footer too.
 
2) His solution requires you to add a considerable amount of code bloat to your ASPX pages. ScrollingGrid works with your existing DataGrid declarations by changing only two lines of code. The size of your ASPX page will not change when using ScrollingGrid.
 
3) His solution makes the DataGrid scrollable all the time. You cannot shut it off. ScrollingGrid's scrolling capabilities can be manipulated in the designer or programmatically, allowing you to shut the scrolling off if you so desire. Because of this, I'm sure you'll never want to use the standard DataGrid again.

Well, there you have it folks, you have three different options for enhancing your UI with a scrollable DataGrid.The solution you use is up to you. In the meantime, feel free to e-mail me or reply to this post with any more questions you have. And be sure to check back on Monday when we release the product. Customer feedback is an integral part of our development process.

11 Comments

  • OK I try again, hope this post will not be deleted this time !



    1) This solution requires you to construct the stationary header by hand. ScrollingGrid handles this automatically, using the same designer techniques as the standard DataGrid component. If your headers change in your DataGrid declaration, our reconstructed headers will change automatically for you. And ScrollingGrid handles the footer too.



    Comment: This solution works also with the standard Datagrid element. If the headers changed this will be reflected in the headers too.



    2) This solution requires you to add a considerable amount of code bloat to your ASPX pages. ScrollingGrid works with your existing DataGrid declarations by changing only two lines of code. The size of your ASPX page will not change when using ScrollingGrid.



    Comment: I don't see there any considerable amount of code. And yes it's only few words to declare in the Datagrid object





    3) This solution makes the DataGrid scrollable all the time. You cannot shut it off. ScrollingGrid's scrolling capabilities can be manipulated in the designer or programmatically, allowing you to shut the scrolling off if you so desire. Because of this, I'm sure you'll never want to use the standard DataGrid again.



    Comment: Not true this solution don't show the headers ll the time.

    But I agree on some points:

    It's HTC so not fully cross browser compatible.

    And yes your solution is good, not the best, but worth to try it, for 0$



  • The demo works ok in Firebird :) (Although the header is abit above the grid)



    ANY grid that does better databinding than MS grids is great. ComponentOne's isn't for example, that one isn't able to mask away columns which are clearly marked as non browseable.



    Besides that, I think a repeater control still is a better solution to grids in webpages, after all it's read-only data.

  • Keep selling the products. Your prices are great and the product is good. I totally agree with your point of $10 is definately worth it, if it takes more than an hour. To bad the screensaver contest ended at PDC, the RSS feed Star Wars saver was going to win :).

  • Looking good, Robert. I understand where you are coming from. The $10 price is great. Good work.

  • A thing I just missed Robert is that Dino's example you refer is an OLD one. A new one has been published in ASPNetPro november issue. It's call Freeze the Header Scroll the Grid.

    Thanks to correct it ;-))

  • I just took a look at your scrolling grid. Pretty nice but when I went to your website there doesn't appear to be any way to purchase it. I went to "Store" and the only product that appeared was GenX.net.

  • Ron,



    I don't think he's released it yet. I read somewhere that he may release it Monday? I could be wrong. I may have created that date in my head.

  • Keep selling your products. So long as you continue to offer an affordable redistribution license for software I need, I'll be interested and willing to pay. For me, allowing installation on multiple websites is key. I'm an independent consultant, and I'm not interested in buying tools that I can't use for multiple applications, unless the tool is really specialized.

  • Thanks guys for all the comments. Ron, Shane was right, it's not available for purchase yet.



    Avonelle, thanks for posting in my blog. Our $10 license will be called the "Developer Edition" and will give you the ability to install the component in any application on any server you choose. As I said, we want everyone to use our control, so we won't restrict how many times you can use it.



    Now, because we're not finished yet, the control still has a bug or two. Should be ironed out by the end of the week. It is v1.0, so we're expecting that there will be some minor work done as it gets used by a lot of people.



    I'm glad some of you may find it useful. Check back here on Monday :).

  • IMHO you've downed the 'Scoble' koolaid anymore Robert. Nowadays, not only is MS the be-all for you, you've taken the Scoble bias approach on everything too. Teflon....



    $10 is mightly cheap, but it's onlyh worth it for the coding time savings. Personally, I prefer wtriting my own damn inherited control - that's really all you've done, right? - and bank the knowledge gained from doing it that way for future projects.

  • Dave,



    Thanks for the perspective. If ALL I were doing is inheriting a control, that would be one thing, but we're also doing some other nifty things too, like retaining your scroll position on postback, and automatically reflecting against the application to check for registered handlers... from inside the control. A lot of expertise went into this, and it's not "just" an inherited control.



    Feel free to write your own. This control has 300-some-odd man hours of effort to get it right. If you can afford to waste that time instead of paying $10 go right ahead. It's not as simple a problem as you might think. Check back here in a few hours, I'm working on a 5 part server control write up that will explain exactly why it is more complicated than you would expect.



    I'm just wondering what you mean by the "MS be-all" thing? I've always been unabashedly Microsoft. Nothing has changed. Now that I'm more connected with the anthill, I can better elaborate my position. But marketing my stuff with passion does not mean that I'm high on the MS koolaid. I'm passionate about what I do. I don't work for Microsoft, I work with them, and in many ways, they work for me. And that's cool.



    I really respect ya Dave, believe me I do. But everyone has bias. You say I have a "Scoble" bias, well I consider that a compliment. He's hooked me up more that I could have ever imagines, and I owe him a lot.

Comments have been disabled for this content.