Design Principles
I attended the Houston TechFest today, and am now finding it difficult to sleep with all of the new knowledge and relationships filling my mind. I finally decided to get out of bed and put some of my thoughts in writing. The Fest was great. There are a few good reasons to attend an event like this. It's free. You get to meet new people with common interests. Employment opportunities are there if you are looking for them. You almost certainly learn something (if not many things). There are lot's of...
Introduction Last time we spent a lot of time on the SelectionController. To conclude the series, we will hook the selection behavior into our CustomGridView. Recap: Custom GridView Guidelines - Preface Custom GridView Guidelines - Part 1 - Preparing the Canvas Custom GridView Guidelines - Part 2 - Selection Interface Custom GridView Guidelines - Part 3 - SelectionController Implementing the IRowSelectionView There are quite a few events on the view that the CustomGridView needs to implement. In...
Introduction This part in the series will focus on the SelectionController. Here is where most of the work is done. We've already covered the view interface, IRowSelectionView. Now we will see how the controller interacts with the view. Recap: Custom GridView Guidelines - Preface Custom GridView Guidelines - Part 1 - Preparing the Canvas Custom GridView Guidelines - Part 2 - Selection Interface Capturing Shift and Ctrl Key Status We want to emulate multi-selection as in Windows Explorer. The Shift...
Introduction I briefly described the design approach in Part 1. This part in the series will explore the ways in which the custom GridView communicates to the controller. I extend my apologies for the lack of code. I am limited in what I can provide. I hope that these guidelines will help point you in the right direction. Classes / Interfaces CustomGridView - The GridView we are customizing SelectionController - Responsible for the row selection behavior IRowSelectionView - How CustomGridView and...
Recently, the CEO of Sprint could be seen in TV commercials stating "Technology is only great when you know how to use it." Here is an article that digs a little deeper into this ad campaign. The purpose of the campaign is to highlight Sprint's customer service, which of course is vitally important to any company providing products or services. I am not here to criticize Sprint. In fact, if you read the article, you will see that they are addressing technology simplicity as well as customer service....
I guess it's about time I've posted again. I've been very busy. Just coming up for air for a bit. I've been mixing some CSS design patterns with Server Controls recently. Aside: A nice book about CSS design patterns is Pro CSS and HTML Design Patterns. It is very helpful in understanding how the boxing models work and it provides a lot of practical examples. Anyway, copy-paste reuse easily gets out of hand on a web project. It's not always easy to refactor HTML. Anyway, I have many pages that use...
I've have been pretty quiet lately. Actually, I've been quite busy and it turns out that there isn't much new to share. However, this is one thing that comes to mind. A recurring pattern in my UI is selection criteria that can applied to a GridView. It turns out that frequently the same criteria applies to various screens. I use LinqDataSources to bind to DropDownLists for many of the criteria. It is not uncommon to use one controller for every page. Following this approach, I ended up with the same...
While playing with Linq and trying to get it to work with Oracle (Linq to Oracle *sigh*), I struggled with the fact that Linq appears to tightly couple business objects with data/persistence. I found myself pondering this fact and trying different approaches to separate the ObjectContext from EntityContext(s). In Linq, the ObjectContext is the object that you provide with a connection string and has the knowledge to send/receive data to/from your database. The EntityContext(s) are the classes that...